OpenSchool isn't 23 disconnected features - it's four layers that build on one another, and every module below shows exactly what it does: a secured foundation, the academic structure for a year, the people inside it, and the daily operations that run on top.

The base every other module sits on - the school profile, ThunderID-backed identity, the in-app leadership hierarchy, and the audit log.
The school profile and the first-run Setup wizard that gets a fresh instance from empty to operational.
Account provisioning and password lifecycle, backed by ThunderID.
An in-app leadership hierarchy layered on top of the four ThunderID roles.
An append-only record of sensitive changes, with actor and before/after state.
How a school year is organized before a single student is enrolled - years, the full Grade 1-13 flow, streams, mediums, and curriculum.
Create academic years and flip exactly one to current - the scope almost every other module reads.
The full Grade 1-13 flow, with lettered class sections per grade.
A/L streams and stream groups for Grade 12/13.
Sinhala, Tamil, English, or custom languages of instruction.
The subject catalogue, curriculum levels, and elective selection groups.
Where the academic structure meets real people - students, teachers, guardians, non-academic staff, houses, and the prefect board.
Student profiles, enrollment, and an 8-tab detail view covering their full school record.
Teacher profiles, employment status, and position assignment.
A searchable guardian directory with notification history and portal-login status.
Lab assistants, librarians, office staff, and other non-teaching roles.
Named houses that students and staff self-balance into automatically.
Rank-based prefect appointments per academic year, with a read-only archive of past years.
Clubs and societies with a teacher-in-charge and a five-role student roster, archived by year.
What runs every school day, once the structure and people are in place - attendance, records, promotion, timetables, notifications, and reports.
Daily sessions for students and staff, with locking and guardian notifications.
Term marks and a full student portfolio - reports, activities, leadership, awards, discipline.
Preview-then-commit promotion between academic years, with marks-based or random auto-fill.
A config → build → review → publish pipeline, one class at a time.
In-app notifications with role-scoped recipient targeting and a per-user Notification Center.
PDF report export and an aggregate analytics dashboard.
Five background agents that watch for data issues and keep the database backed up, without sitting on any request's critical path.
Stand up a fresh instance with the Setup Walkthrough.