UI Pages
Every screen in the product, by surface.
Public site — /
| Path | Page |
|---|---|
/ |
Home |
/about |
About the school |
/gallery |
Photo gallery |
/blogs, /blogs/[slug] |
News and notices |
/faq |
Frequently asked questions |
/contact, /enquiry |
Contact and admission enquiry — enquiries land in the admissions pipeline |
/privacy-policy, /terms-and-conditions, /cookie-policy |
Policies |
Content, branding and navigation all come from settings. No school name is hardcoded anywhere.
Admin — /admin
Dashboard
Strength, attendance today, fees collected and outstanding, admissions in flight, and what needs attention.
Academics
| Path | Screen |
|---|---|
/admin/academics/years, /terms |
Academic years and terms |
/admin/academics/classes, /sections |
Year groups and their divisions |
/admin/academics/subjects, /allocation |
Subjects and who teaches them |
/admin/academics/periods |
The bell schedule |
/admin/academics/timetable |
The grid — tap a period to set it. Clashes refused with the reason |
/admin/academics/timetable/teacher |
The same grid from a teacher's side |
/admin/academics/calendar |
Events and holidays |
/admin/academics/syllabus, /lesson-plans |
Coverage and dated plans |
Admissions
/admin/admissions — the pipeline, with the application form as a full page (identity, what they are applying for, guardian, assessment).
/admin/admissions/waitlist — the waiting list with positions.
Students
| Path | Screen |
|---|---|
/admin/students |
The roll |
/admin/students/guardians |
Parent accounts |
/admin/students/import |
Bulk CSV import |
/admin/students/id-cards |
Printable ID cards |
/admin/students/promote |
Year-end roll-over |
Staff
/admin/staff (directory) · /admin/staff/qualifications · /admin/staff/documents · /admin/staff/salary-structures · /admin/staff/payroll.
Attendance
/admin/attendance (daily register) · /admin/attendance/period · /admin/attendance/staff (with staff-type and department filters).
Fees
/admin/fees/heads · /structures · /concessions · /invoices · /payments · /collect.
Examinations
/admin/exams · /admin/exams/schedules · /admin/exams/marks · /admin/exams/report-cards · /admin/exams/grade-scale.
Homework, communication, facilities
/admin/homework · /admin/communication/circulars, /leave, /notifications · /admin/library/* · /admin/transport/* · /admin/hostel/* · /admin/inventory/*.
Reports and settings
/admin/reports/* — nine reports, one self-describing screen, CSV export.
/admin/settings/* — school, users and roles, master data, channels, theme, notifications.
Parent portal — /parent
| Path | Screen |
|---|---|
/parent/login |
Email or phone, then a code, then a password |
/parent/dashboard |
The home feed |
/parent/attendance |
Day by day, with the recorded-days percentage |
/parent/homework |
Set, due, submitted, graded |
/parent/results |
Published results only |
/parent/fees |
Invoices, balance, pay, receipts |
/parent/circulars |
Announcements |
/parent/settings |
Profile, channels, password |
Teacher portal — /teacher
/teacher/dashboard (today) · /attendance · /timetable · /homework · /marks · /circulars · /settings.
Student portal — /student
/student/dashboard · /timetable · /homework · /attendance · /results · /circulars · /settings.
Screen conventions
Loading — every data-fetching screen renders a layout-shaped skeleton, not a spinner, so nothing shifts when the rows land.
Lists — DataTable gives search, sort, column visibility, CSV/print export and bulk actions. Tables scroll horizontally on mobile.
Forms — under 12 fields opens a modal, keeping the list on screen. Longer records take a full page: two columns, the record itself as titled panels on the left, and a sticky rail on the right holding Save and the photo. That rail is why Save is reachable on a 23-field form without scrolling back to the top.
Breadcrumbs sit above the page header, never inside it.
Overlays animate in and out from one shared motion vocabulary, and honour a reduced-motion preference by fading instead.
Dialogs become bottom sheets on mobile, because a sheet that scales looks like a mistake and one that travels does not.