Skip to main content

Super Admin UI

Location: syncad/apps/super-admin Stack: Next.js 16, shadcn/ui, Tailwind CSS, React Context + Fetch Port: 3003 (dev)

Overview

Interface for Metaonus operations team to manage schools system-wide. Not a school-level admin tool — used exclusively for provisioning and cross-school oversight.

Pages

Dashboard

  • Total schools count, active schools, new signups this month
  • System health indicators
  • Recent provisioning activity log

School Management

  • List all schools with status (active, suspended, trial)
  • Create new school: triggers SCS provisioning
  • View school detail: assigned subdomains, DB name, admin account, plan tier
  • Suspend / reactivate school
  • School settings override (evaluation mode, feature flags)

Provisioning (New School Onboarding)

  • Form: school name, slug, district, board, admin email, plan
  • On submit: calls SCS service → provisions DB, DNS, SSL
  • Progress tracker: DB created → DNS configured → SSL issued → admin invited
  • Error handling with retry capability

User Management (Cross-School)

  • View any user's details across all schools
  • Force password reset
  • Disable / enable account

Analytics

  • API usage per school
  • Error rate monitoring
  • Active session counts

Key Features

FeatureDescription
School ProvisioningOne-click onboarding via SCS Go service
Plan ManagementAssign tiers (basic, standard, premium) with feature gates
Evaluation Mode ToggleGlobal flag per school, affects teacher app behavior
Audit LogAll admin actions logged with timestamp and actor

API Integration

Super Admin UI calls the NestJS API with SUPER_ADMIN role JWT:

const response = await fetch('/super-admin/school', {
headers: {
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json',
},
});

Key Endpoints

GET  /super-admin/school/list
POST /super-admin/school/create
GET /super-admin/school/:id
PUT /super-admin/school/:id/settings
POST /super-admin/school/:id/suspend
POST /super-admin/school/:id/reactivate
GET /super-admin/analytics/usage

Difference from School Admin UI

AspectSchool Admin UISuper Admin UI
ScopeSingle schoolAll schools
User roleSCHOOL_ADMINSUPER_ADMIN
Student CRUD❌ (read-only)
Fee collection
School provisioning
Cross-school analytics