All-in-one management system for education centers — CRM, attendance, scheduling and finance in one app
Live preview
Services
Stack
Overview
EduFlow is an all-in-one management system for education centers. It answers the questions a center faces every day — who owes money, who missed class, how much to pay each teacher this month, and where the marketing budget is working — from a single dashboard. The core covers CRM, courses and groups, a Google-Calendar-style scheduler, students, attendance, payments, and multi-branch operations, all behind role-based access. Course materials and testing (the LMS layer) come later; the operational core comes first.
Challenge
An education center's daily operations span sales leads, scheduling, attendance and money — and each has to stay consistent with the others. A lesson moved to another day, a student frozen mid-course, a payment reversed: every such event must be reflected without corrupting the financial history or the audit trail. The interface also has to stay simple enough for non-technical staff (managers, cashiers, teachers) while strictly enforcing what each role may see and do.
Solution
Built a Django REST API with a four-role RBAC system (Admin, Branch manager, Cashier, Teacher) enforced on both the backend and the UI. Recurring lessons are generated as individual editable records rather than computed from a rule, so holidays, moved lessons and teacher sick days are handled naturally. Money is stored only as Decimal and financial entries are immutable — payments are never edited or deleted, only reversed with a storno entry, keeping the audit trail intact. Records with history are archived, never deleted (the API returns 409 and offers archiving). The Next.js 16 frontend uses a token-based design system with light/dark mode, and every list is available in both card and table views with search and filters, fully responsive down to a mobile bottom-nav.
Outcome
The phase-1 core is production-deployed on DigitalOcean (backend, systemd + Nginx) and Vercel (frontend). Multi-branch support lets one center run several branches, each with its own rooms, groups and staff. The architecture is deliberately single-tenant — an internal system for one center, not SaaS — with a pgvector-ready database that keeps the door open for a later LMS and AI layer (test generation, semantic grading, a materials Q&A bot) without reshaping the core.
Let's build