School Creation
Super admins create a new school from the platform-wide Schools list. Creating a school provisions an institutional profile and links one or more existing admin users to it. Those admins then sign in to a freshly empty dashboard and start onboarding teachers, students, and sections.
At a glance
| Who can do this | Super admin only. Regular admins see the same list (read-only for entries they're assigned to) but the "Register New School" button is hidden for them. |
| Where it lives | Admin app → /dashboard/schools → "Register New School" button (top-right) |
| What gets seeded | School profile (name, address, description, logo, board) + assignment of one or more existing admin users. Teachers, students, classes, and sections are not auto-created. |
| Related features | Sub-Admin & Access Control · Settings · Sections & Teacher Assignment |
How it flows
Step-by-step
1. Open the schools list
- App / route: Admin panel →
/dashboard/schools - The page is titled School Management with the description "Oversee and configure institutional profiles across the platform."
- Super admins see a "Register New School" button (top-right). Regular admins do not.
- The list is searchable by name/location; pagination defaults to 10 per page.
2. Open the create modal
- Click Register New School.
- Modal title: Register New Institution.
3. Fill in the school profile
| Field | Required | Notes |
|---|---|---|
| Official School Name | Yes | Free-text (e.g. "St. Xavier High School") |
| Complete Address | No | Multi-line; "Physical location details" |
| Brief Description | No | Multi-line; "Institutional mission or tagline" |
| Educational Board | No | Single-select dropdown; options come from the platform-wide boards list (CBSE, ICSE, state boards, etc.) |
Note: The create modal does NOT have an "Assigned Administrators" field — admins are linked in a follow-up edit. (If you need a school owner from minute 1, edit the school immediately after creation.)
4. Submit
- Click Create Profile.
- On success, a "School created successfully" toast appears, the modal closes, and the new row appears in the list.
5. Assign one or more admins (immediate follow-up)
- On the new row, open the kebab (⋮) menu → Edit Details.
- Modal title: Update Institution Profile.
- The edit modal exposes an Assigned Administrators multi-select that lists existing platform admins by email.
- Pick one or more admins → Save Changes.
An admin must already exist on the platform (created from
/dashboard/admins) before they can be linked to a school. School creation does not create an admin user.
6. The new admin's first login
- If the linked admin already had a password set, they sign in normally at
/loginand the new school appears in their Schools sidebar entry. - If the admin was newly created (password not yet set), they receive a set-password email with a tokenised link → opens
/setup-password?token=...→ enters & confirms password (min 6 chars) → redirected to/login. - After login, the admin lands on
/dashboardand can navigate to Schools → click the new school card → enters the school-scoped dashboard at/dashboard/school/:id/details. From here they begin adding teachers, students, classes, and sections.
What's NOT created automatically
Creating a school does not seed any of the following — the new admin must add them manually:
- Teachers, students, parents
- Classes or sections
- Subjects, chapters, modules
- Yearly plan entries
- Transport routes / drivers / buses
There is currently no trial-vs-paid distinction in the create flow. Coin pricing and AI provider settings are platform-wide (see Settings).
Edge cases & things to test
- Duplicate school name: create two schools with identical names — does the platform allow it? (Currently no client-side uniqueness check; backend may or may not enforce.)
- No admin assigned: a school created without any admin in the multi-select sits orphaned. Verify a super admin can still see/edit it, but no school-scoped admin can log in to it.
- Edit-only admin assignment: confirm that the Create modal has no admin field and the Edit modal does. Confirm admins added via Edit appear immediately in their
/dashboard/schoolsview after refresh. - Multi-school admin: assign the same admin to 3 schools — does their schools sidebar show all 3? Does switching between them reset breadcrumbs correctly?
- Board missing: leave the board dropdown blank — confirm school still saves and downstream class/subject pickers don't crash.
- Logo upload: the create form schema includes a
logofield but the modal currently has no upload control — confirm whether logos can only be added later via API/edit, and whether the avatar in the list shows the building icon as fallback. - Long description: paste a 5000-char description — does it truncate cleanly in the schools list card?
- Delete a school with active admins: from the Edit dropdown, choose Remove Institute — what happens to the linked admins' access? Confirm they can still log in but no longer see the deleted school.
- Search & pagination: search "Xavier" while on page 3 — does it correctly reset to page 1?
- Partial create failure: simulate a network error mid-create — confirm the modal stays open with the form values preserved (no silent data loss).
- Permission boundary: log in as a regular
admin(not super) — verify the Register New School button is hidden, edit/delete actions in the row dropdown disappear, and only View Dashboard remains.
Related
- Sub-Admin & Access Control — how to create the admin users you'll assign here
- Settings — platform-wide AI and coin settings (not per-school)
- Sections & Teacher Assignment — what the new admin builds first inside the school
- Admin Panel Overview — the bigger picture of admin-panel responsibilities