How lienier/schoolconnect works
SchoolConnect is a college bulletin and event-registration system for administrators, teachers, student-council officers, and students. Users authenticate into role-specific dashboards, then browse or manage announcements and events; event participants register, check in, and appear in attendance and reporting workflows. The React SPA calls a Flask REST API, whose feature routes delegate to services and persist domain records. The README documents notifications, uploads, school administration, and reports as additional capabilities. Some subsystem links are documented or implied by the tree rather than confirmed in the sampled source.
Main entry points: app.py Flask API · AppRoutes.tsx Page routing · events/routes.py Event workflows · registrations/routes.py Event registrations
Components 23
Web application
- React application
frontend/src/App.tsx - Page routing
frontend/src/routes/AppRoutes.tsx - Role dashboards
frontend/src/features/dashboards
Identity and access
- Login and session
frontend/src/features/auth - Authentication API
backend/app/auth/routes.py - User administration
backend/app/users/routes.py - Roles and permissions
backend/app/roles/routes.py
Bulletins and events
- Bulletin interface
frontend/src/features/announcements - Announcement endpoints
backend/app/announcements/routes.py - Combined bulletin feed
backend/app/feed/routes.py - Event interface
frontend/src/features/events - Event workflows
backend/app/events/routes.py - Event registrations
backend/app/registrations/routes.py
College operations
- Attendance interface
frontend/src/features/attendance - Attendance and QR
backend/app/attendance/routes.py - School structure
backend/app/school/routes.py - Reports and dashboards
backend/app/reports/routes.py - Notifications
backend/app/notifications/routes.py - File uploads
backend/app/uploads/routes.py
API platform
- Flask API
backend/app/app.py - PostgreSQL database
- Realtime updates
backend/app/realtime/service.py
Other components
- College users
Connections 38
- College users → React application: use
- React application → Page routing: renders
- Page routing → Login and session: routes to
- Page routing → Role dashboards: routes to
- Page routing → Bulletin interface: routes to
- Page routing → Event interface: routes to
- Page routing → Attendance interface: routes to
- Login and session → Authentication API: authenticates via
- Bulletin interface → Announcement endpoints: requests
- Bulletin interface → Combined bulletin feed: loads feed
- Event interface → Event workflows: requests
- Event interface → Event registrations: registers via
- Attendance interface → Attendance and QR: checks in via
- Role dashboards → Flask API: loads data from
- Flask API → Authentication API: dispatches
- Flask API → User administration: dispatches
- Flask API → Roles and permissions: dispatches
- Flask API → Announcement endpoints: dispatches
- Flask API → Combined bulletin feed: dispatches
- Flask API → Event workflows: dispatches
- Flask API → Event registrations: dispatches
- Flask API → Attendance and QR: dispatches
- Flask API → School structure: dispatches
- Flask API → Reports and dashboards: dispatches
- Flask API → Notifications: dispatches
- Flask API → File uploads: dispatches
- Announcement endpoints → PostgreSQL database: reads and writes
- Combined bulletin feed → PostgreSQL database: reads
- Event workflows → PostgreSQL database: reads and writes
- Event registrations → PostgreSQL database: reads and writes
- Attendance and QR → PostgreSQL database: reads and writes
- School structure → PostgreSQL database: reads and writes
- Notifications → PostgreSQL database: reads and writes
- File uploads → PostgreSQL database: records metadata
- Event workflows → Realtime updates: emits updates
- Event registrations → Realtime updates: emits updates
- Attendance and QR → Realtime updates: emits updates
- User administration → Realtime updates: disconnects user