The multi-school data model, absence calculation and optional academic-programme layer of a school management platform aligned with MEB/e-Okul processes.
Timetables, attendance, absences, homework and exam/grade records had to live in a single data model, stay aligned with MEB/e-Okul processes, and reach each user role with the right permissions. Absence rules vary by school type, and separation of data between schools, teachers, parents and students has to be enforced on the server, not in the UI.
All modules were unified in one PostgreSQL data model. Absence calculation lives in a single service: it follows MEB rules, working per day or by percentage depending on school type, and attendance flows call that same calculation. Regular operations are scoped by the school ID in the JWT; a superadmin must name the school explicitly for any school-bound action. A school does not need IB: the academic-programme, project and portfolio modules are off by default, can be enabled on demand, and never alter existing MEB records.