Skip to main content

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 thisSuper 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 livesAdmin app → /dashboard/schools → "Register New School" button (top-right)
What gets seededSchool profile (name, address, description, logo, board) + assignment of one or more existing admin users. Teachers, students, classes, and sections are not auto-created.
Related featuresSub-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

FieldRequiredNotes
Official School NameYesFree-text (e.g. "St. Xavier High School")
Complete AddressNoMulti-line; "Physical location details"
Brief DescriptionNoMulti-line; "Institutional mission or tagline"
Educational BoardNoSingle-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 (⋮) menuEdit 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 /login and 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 /dashboard and 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/schools view 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 logo field 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.