How asteria-07/schoolpulse works
SchoolPulse is a school-operations portal with role-oriented dashboards and backend APIs. Users enter through the sign-in experience, navigate operational areas such as attendance, students, staff, timetables, alerts and documents, and can request AI insights or document extraction. The frontend API client calls the FastAPI backend; backend handlers authenticate users and read or write school data through Supabase. The tree and excerpts establish these main capabilities, but do not show wiring for every route or the implementations of several subsystems.
Main entry points: app-shell.tsx App navigation · api-client.ts API client · main.py FastAPI handlers · supabase_client.py Supabase client
Components 20
Web experience
- Sign-in
schoolpulse-fullstack-final/schoolpulse-fullstack/src/routes/index.tsx - App navigation
schoolpulse-fullstack-final/schoolpulse-fullstack/src/components/app-shell.tsx - Route setup
schoolpulse-fullstack-final/schoolpulse-fullstack/src/router.tsx - API client
schoolpulse-fullstack-final/schoolpulse-fullstack/src/lib/api-client.ts
School operations
- Dashboard
schoolpulse-fullstack-final/schoolpulse-fullstack/src/routes/dashboard.tsx - Attendance
schoolpulse-fullstack-final/schoolpulse-fullstack/src/routes/attendance.tsx - Student records
schoolpulse-fullstack-final/schoolpulse-fullstack/src/routes/students.tsx - Staff records
schoolpulse-fullstack-final/schoolpulse-fullstack/src/routes/staff.tsx - Timetables
schoolpulse-fullstack-final/schoolpulse-fullstack/src/routes/timetable.tsx - Alerts
schoolpulse-fullstack-final/schoolpulse-fullstack/src/routes/alerts.tsx - Documents
schoolpulse-fullstack-final/schoolpulse-fullstack/src/routes/documents.tsx - Parent portal
schoolpulse-fullstack-final/schoolpulse-fullstack/src/routes/parent.tsx - AI copilot
schoolpulse-fullstack-final/schoolpulse-fullstack/src/components/ai-copilot.tsx
Backend services
- FastAPI handlers
schoolpulse-fullstack-final/schoolpulse-fullstack/backend/main.py - Token validation
schoolpulse-fullstack-final/schoolpulse-fullstack/backend/auth.py - AI processing
schoolpulse-fullstack-final/schoolpulse-fullstack/backend/ai.py - Timetable solver
schoolpulse-fullstack-final/schoolpulse-fullstack/backend/solver.py
Identity and data
- Supabase client
schoolpulse-fullstack-final/schoolpulse-fullstack/backend/supabase_client.py - Supabase
Other components
- School user
Connections 24
- School user → Sign-in: signs in
- Sign-in → Route setup: navigates
- Route setup → App navigation: renders routes
- App navigation → Dashboard: navigates
- App navigation → Attendance: navigates
- App navigation → Student records: navigates
- App navigation → Staff records: navigates
- App navigation → Timetables: navigates
- App navigation → Alerts: navigates
- App navigation → Documents: navigates
- School user → Parent portal: views portal
- API client → FastAPI handlers: HTTP requests
- FastAPI handlers → Token validation: validates user
- Token validation → Supabase client: verifies token
- FastAPI handlers → Supabase client: queries records
- Supabase client → Supabase: connects
- FastAPI handlers → AI processing: requests AI work
- AI copilot → API client: requests insights
- Documents → API client: uploads document
- Attendance → API client: records attendance
- Student records → API client: manages students
- Staff records → API client: manages staff
- Timetables → API client: requests solve
- FastAPI handlers → Timetable solver: solves timetable