How mjuniorahamad-collab/school-management-system works
This repository is a school-management web application: staff authenticate, select a school context, and use the admin UI to manage school records and view operational data; parent portal and other domain modules extend the product. The documented data path is UI hooks/services through a shared API client to a tenant-scoped Express API and PostgreSQL. The README describes students, dashboard, and RBAC in detail; other capabilities are represented by their listed module paths, but their internal wiring was not sampled, so uncertain links are omitted.
Main entry points: App.tsx React application · useAcademicSessions.ts Data hooks · academicSessionsService.ts API service seam · apiClient.ts HTTP client
Components 23
Admin interface
- React application
src/app/App.tsx - Auth context
src/auth/AuthContext.tsx - Data hooks
src/hooks/useAcademicSessions.ts - API service seam
src/services/academicSessionsService.ts - HTTP client
src/lib/apiClient.ts
API and identity
- Express API
server/src/app.ts - API routers
server/src/routes/index.ts - Auth handlers
server/src/controllers/auth.controller.ts - Session and RBAC
server/src/services/auth.service.ts
School operations
- Student records
server/src/modules/students/student.service.ts - Academic sessions
server/src/modules/academic-sessions/academic-session.service.ts - Admissions
server/src/modules/admissions/admission.service.ts - Fees and payments
server/src/modules/fee-invoices/fee-invoice.service.ts - Dashboard insights
server/src/modules/dashboard/dashboard.service.ts
Learning and engagement
- Attendance and results
server/src/modules/attendance/attendance.service.ts - Classes and tasks
server/src/modules/assignments/assignment.service.ts - Family portal
server/src/modules/portal/portal.service.ts - Notices and messages
server/src/modules/messages/message.service.ts - Library and transport
server/src/modules/library/library.service.ts
Shared platform
- PostgreSQL data
server/src/lib/database.ts - Photo storage
server/src/lib/storage/storage.ts
Other components
- School staff
- Family user
Connections 20
- School staff → React application: uses
- React application → Auth context: provides auth
- React application → Data hooks: renders workflows
- Data hooks → API service seam: queries and mutates
- API service seam → HTTP client: sends requests
- HTTP client → Express API: HTTP API
- Express API → API routers: mounts
- API routers → Auth handlers: dispatches auth
- Auth handlers → Session and RBAC: invokes
- Session and RBAC → PostgreSQL data: reads and writes sessions
- School staff → Student records: manages records
- School staff → Academic sessions: configures terms
- School staff → Admissions: reviews applicants
- School staff → Fees and payments: manages billing
- School staff → Dashboard insights: views insights
- School staff → Attendance and results: records attendance and results
- School staff → Classes and tasks: assigns work
- Family user → Family portal: views child information
- School staff → Notices and messages: publishes and messages
- School staff → Library and transport: manages resources