How rachitjain13/school-main works
This repository combines an Express backend for super-admin authentication and multi-tenant school administration with an Expo mobile app whose sampled screens appear starter-oriented. The main backend workflow is super-admin login, school-draft creation and confirmation, then tenant-database provisioning; school requests also pass through authentication and tenant resolution. The graph includes these domain stages and the session/tenant-connection layers. The README gives no product detail, and many modules were not sampled, so uncertain connections are omitted.
Main entry points: login.controller.ts Login controller · session.controller.ts Session controller · super-admin.routes.ts Admin routes · session.service.ts Session service
Components 27
API runtime
- Express app
backend/src/app.ts
Authentication
- Auth routes
backend/src/modules/auth/routes/auth.routes.ts - Login controller
backend/src/modules/auth/controllers/login.controller.ts - Login service
backend/src/modules/auth/services/login.service.ts - Session controller
backend/src/modules/auth/controllers/session.controller.ts - Session service
backend/src/modules/auth/services/session.service.ts - Token service
backend/src/modules/auth/services/token.service.ts - Session records
backend/src/modules/auth/models/platform-session.model.ts - Auth middleware
backend/src/modules/auth/middleware/auth.middleware.ts
School administration
- Admin routes
backend/src/modules/super-admin/routes/super-admin.routes.ts - Draft controller
backend/src/modules/super-admin/controllers/school-draft.controller.ts - Draft service
backend/src/modules/super-admin/services/school-draft.service.ts - Confirmation controller
backend/src/modules/super-admin/controllers/school-confirmation.controller.ts - Confirmation service
backend/src/modules/super-admin/services/school-confirmation.service.ts - School records
backend/src/modules/super-admin/models/school.model.ts - Draft records
backend/src/modules/super-admin/models/school-draft.model.ts - Provision controller
backend/src/modules/super-admin/controllers/school-provisioning.controller.ts
Tenant infrastructure
- Provisioning service
backend/src/modules/super-admin/services/school-provisioning.service.ts - Tenant registry
backend/src/modules/super-admin/models/tenant-registry.model.ts - Tenant connections
backend/src/infrastructure/tenant-connection.manager.ts - School routes
backend/src/modules/school/routes/school.routes.ts - Tenant resolver
backend/src/modules/auth/middleware/tenant-resolver.middleware.ts
Mobile app
- Home screen
frontend/school-management-mobile/src/app/index.tsx - Explore screen
frontend/school-management-mobile/src/app/explore.tsx
Other components
- Super admin
- School user
- MongoDB
Connections 27
- Super admin → Auth routes: requests login
backend/src/modules/auth/routes/auth.routes.ts - Auth routes → Login controller: routes login
backend/src/modules/auth/routes/auth.routes.ts - Login controller → Login service: authenticates
backend/src/modules/auth/controllers/login.controller.ts - Login controller → Token service: creates token
backend/src/modules/auth/controllers/login.controller.ts - Login controller → Session service: creates session
backend/src/modules/auth/controllers/login.controller.ts - Auth routes → Session controller: routes refresh/logout
backend/src/modules/auth/routes/auth.routes.ts - Session controller → Session service: rotates or revokes
backend/src/modules/auth/controllers/session.controller.ts - Session controller → Token service: creates access token
backend/src/modules/auth/controllers/session.controller.ts - Session controller → MongoDB: looks up user
backend/src/modules/auth/controllers/session.controller.ts - Session service → Session records: reads/writes sessions
backend/src/modules/auth/services/session.service.ts - Session service → MongoDB: stores token history
backend/src/modules/auth/services/session.service.ts - Super admin → Admin routes: manages schools
backend/src/modules/super-admin/routes/super-admin.routes.ts - Admin routes → Draft controller: routes draft creation
backend/src/modules/super-admin/routes/super-admin.routes.ts - Draft controller → Draft service: creates draft
backend/src/modules/super-admin/controllers/school-draft.controller.ts - Admin routes → Confirmation controller: routes confirmation
backend/src/modules/super-admin/routes/super-admin.routes.ts - Confirmation controller → Confirmation service: confirms draft
backend/src/modules/super-admin/controllers/school-confirmation.controller.ts - Confirmation service → Draft records: reads/updates draft
backend/src/modules/super-admin/services/school-confirmation.service.ts - Confirmation service → School records: checks and creates school
backend/src/modules/super-admin/services/school-confirmation.service.ts - Admin routes → Provision controller: routes provisioning
backend/src/modules/super-admin/routes/super-admin.routes.ts - Provision controller → Provisioning service: provisions database
backend/src/modules/super-admin/controllers/school-provisioning.controller.ts - Provisioning service → Tenant connections: opens tenant connection
backend/src/modules/super-admin/services/school-provisioning.service.ts - Provisioning service → Tenant registry: updates registry
backend/src/modules/super-admin/services/school-provisioning.service.ts - Tenant connections → MongoDB: connects database
backend/src/infrastructure/tenant-connection.manager.ts - School user → School routes: requests dashboard
backend/src/modules/school/routes/school.routes.ts - School routes → Auth middleware: authenticates request
backend/src/modules/school/routes/school.routes.ts - School routes → Tenant resolver: resolves tenant
backend/src/modules/school/routes/school.routes.ts - Express app → MongoDB: uses database config