Thirty modules. One system. The whole school.
Admissions to attendance, timetable to exams, fee collection to staff payroll — across every branch, with an admin dashboard for your staff, a portal for students and a mobile app for parents. Roles are created by you at runtime, so a teacher, an accountant and a branch head each see exactly what they should.
Everything a school office does before lunch.
One deployment, one database, real transactions across modules — so a fee posting and a ledger entry can never half-happen.
Admissions & registration
From an enquiry to a registered student with a class, a section and a roll number. Records carry their full history rather than being overwritten.
Attendance, students and staff
Daily student attendance by class and section, and separate staff attendance that feeds straight into salary.
Timetable & teaching assignments
Classes, subjects, periods and which teacher takes what — with the clashes caught rather than discovered on Monday.
Exams & results
Exam scheduling, marks entry and results, with report cards a parent can actually read.
Fees, invoices & ledgers
Fee structures per class, invoices, receipts, concessions and a live ledger per student. Defaulters are a list, not a search.
Staff, salary & payroll
Staff records, attendance-linked salary, allowances and deductions, with payslips.
Transport
Routes, stops, vehicles and which student is on which route, with the transport fee on the same invoice.
Announcements & WhatsApp
Homework, announcements, notifications and WhatsApp messages to parents — on the channel families actually read.
A teacher's screen is the admin's screen — at their own scope.
Schools do not have a fixed set of five roles. They have a vice principal who also handles transport, an accountant who covers two branches, and a senior teacher who sees one section. So roles are created at runtime with whatever set of actions you choose.
- Every action resolves to a scope: everything, one branch, or only their own records.
- Roles are data, not code. Create "Section Head" on a Tuesday afternoon without waiting for a release.
- One admin application serves every staff role, because a teacher's student list is the same screen — just narrower.
- Students get their own portal, separate from staff.
- A super-admin console handles tenants, plans and billing, kept away from the people running the school.
The message has to arrive where the family is.
A notice in a diary is a notice nobody read. Fee reminders, attendance alerts, results and announcements go out on the channels parents actually check.
- WhatsApp for fee reminders, absence alerts and announcements.
- In-app notifications for students on their own portal.
- A mobile app for Android and iOS, built from the same data.
- Homework and announcements published per class, not broadcast to the whole school.
- Every send is recorded, so "we were never told" has an answer.
All thirty modules.
Not a roadmap — these are built and running.
1Academics
- Class
- Subject
- Timetable
- Teaching assignment
- Exam
- Homework
- Attendance
2People
- Student
- Registration & admissions
- Staff
- Staff attendance
- Users
- Roles & permissions
3Money
- Fee
- Invoice
- Ledger
- Account
- Staff salary
- Package
- Subscription
4Operations
- Branch
- Branch profile
- Transport
- Announcement
- Notification
5Oversight
- Dashboard
- Report
- Audit trail
- School profile & settings
6Applications
- Admin dashboard — staff, teachers, accounts
- Student dashboard
- Mobile app for Android and iOS
- Super-admin console for tenants and billing
The technical detail
| Architecture | Express on MongoDB running as a replica set, so cross-module operations are genuinely transactional |
| Structure | A modular monolith — thirty modules behind declared contracts, one deployment |
| Web applications | Admin dashboard, student dashboard and super-admin console (Next.js) |
| Mobile | React Native / Expo, for Google Play and the App Store |
| Permissions | Runtime roles, with every action resolved to an all / branch / own scope |
| API | Documented with Swagger; the mobile and web apps use the same contract |
| Branches | Multi-branch and multi-tenant |
| Messaging | WhatsApp and in-app notifications |
Every module is covered by integration tests that drive the real application against a real database, and the boundaries between modules are enforced by the build itself.
Mizenzo School — common questions
Yes — through the mobile app and the student portal, and through WhatsApp messages for fee reminders, absence alerts and announcements.
One. Branches are built in, staff can be scoped to a single campus, and management sees both branch-level and consolidated figures.
Yes, at any time and without waiting for us. You pick the actions the role can perform and the scope it works at — everything, one branch, or only their own records.
Yes. Staff attendance feeds salary, with allowances and deductions, and payslips come out of the same system that issues fee receipts.
Yes. We import students, classes, fee structures and opening balances from your Excel sheets during setup.
Poora school, ek system mein.
Tell us how many students and how many campuses you run, and we will walk you through the admin dashboard, the student portal and the mobile app on your own screen.
