How debarghaaa/schoolos-demo works
SchoolOS is a multi-tenant school-management platform: users work in role-specific web workspaces, which call a FastAPI API for school and platform operations. The backend also runs queued and periodic jobs, including isolated E-Lab execution. The README documents PostgreSQL, Redis, and S3-compatible storage as infrastructure. The graph groups related domain capabilities rather than listing every route; several backend service and frontend API relationships are based on the documented layout and product topology, since their implementations were not sampled.
Main entry points: services Domain services · tasks.py Background tasks · worker.py Job worker · App.tsx React application
Components 21
Web workspace
- React application
school-os/src/App.tsx - Role workspaces
school-os/src/pages - API client
school-os/src/lib/api.ts
API and services
- API router
school-api/app/api/v1/router.py - Domain services
school-api/app/services
School capabilities
- Authentication
school-api/app/services/auth.py - Academic records
school-api/app/services/academic.py - Assignments and grades
school-api/app/services/assignments.py - Attendance
school-api/app/services/attendance.py - Timetables
school-api/app/services/timetable.py - File management
school-api/app/services/files.py - E-Lab runs
school-api/app/services/elab.py - Platform administration
school-api/app/services/platform.py
Data and jobs
- PostgreSQL
- Redis
- Job worker
school-api/app/workers/worker.py - Background tasks
school-api/app/workers/tasks.py - E-Lab runner
school-api/app/workers/elab_runner.py - Object storage adapter
school-api/app/integrations/storage.py
Other components
- School user
- S3-compatible storage
Connections 21
- School user → React application: uses
- React application → Role workspaces: routes to
- Role workspaces → API client: requests data
- API client → API router: calls API
- API router → Domain services: dispatches
- Domain services → Authentication: handles identity
- Domain services → Academic records: handles academics
- Domain services → Assignments and grades: handles coursework
- Domain services → Attendance: handles attendance
- Domain services → Timetables: handles schedules
- Domain services → File management: handles files
- Domain services → E-Lab runs: handles E-Lab
- Domain services → Platform administration: handles platform
- Domain services → PostgreSQL: persists records
- Job worker → Redis: drains queues
- Job worker → Background tasks: runs tasks
- Background tasks → PostgreSQL: reads and writes
- Background tasks → E-Lab runner: executes runs
- E-Lab runner → PostgreSQL: updates runs
- File management → Object storage adapter: stores objects
- Object storage adapter → S3-compatible storage: reads and writes