How booksbigchange-rgb/bigchange_academy_hub works
BigChange Academy Hub is a school-management app with a fictional, browser-only demo and a Supabase-backed live mode. In the demo, staff preview and manage courses, classes, academics, assessments, family information, and finance screens; changes are not persisted. In live mode, users sign in and see role-specific screens whose actions use the API layer to read and update Supabase. The README also documents payment approval, attendance, reminders, and class-level notices. Edges reflect shown imports/calls or README statements; unsampled live internals are represented at subsystem level.
Main entry points: App.tsx Demo application · LiveApp.tsx Live application · api.ts Supabase API · main.tsx Mode selection
Components 25
App entry and modes
- Mode selection
src/main.tsx - Demo application
src/App.tsx - Secure shell
src/SecureApp.tsx - Live application
src/live/LiveApp.tsx
Demo school workflows
- Classes and directory
src/components/AcademyOperations.tsx - Course catalog
src/components/AcademyCourseCatalog.tsx - Lessons and attendance
src/components/AcademyAcademics.tsx - Assessments
src/components/AcademyAssessments.tsx - Family view
src/components/AcademyFamily.tsx - Fees and payments
src/components/AcademyFeePlan.tsx - Guardian administration
src/components/AcademyGuardianAdmin.tsx - Reports and reminders
src/components/AcademyReports.tsx - Classroom model
src/lib/operations.mjs - Academic model
src/lib/academics.mjs - Assessment model
src/lib/assessments.mjs
Live role workflows
- Live fees
src/live/LiveFees.tsx - Live guardians
src/live/LiveGuardians.tsx - Live family
src/live/LiveFamily.tsx - Live overview
src/live/LiveOverview.tsx - Level notices
src/live/LiveNotices.tsx
Live data services
- Supabase API
src/live/api.ts - Input validation
src/live/validation.mjs - Shared live state
src/live/shared.ts
Other components
- School users
- Supabase database
Connections 31
- School users → Mode selection: opens app
README.md - Mode selection → Demo application: selects demo
src/main.tsx - Mode selection → Secure shell: selects live
src/main.tsx - Secure shell → Live application: renders
src/SecureApp.tsx - School users → Demo application: previews roles
README.md - Demo application → Classes and directory: renders
src/App.tsx - Demo application → Course catalog: renders
src/App.tsx - Demo application → Lessons and attendance: renders
src/App.tsx - Demo application → Assessments: renders
src/App.tsx - Demo application → Family view: renders
src/App.tsx - Demo application → Fees and payments: renders
src/App.tsx - Demo application → Guardian administration: renders
src/App.tsx - Demo application → Reports and reminders: renders
src/App.tsx - Classes and directory → Classroom model: updates model
src/components/AcademyOperations.tsx - Lessons and attendance → Classroom model: reads classes
src/components/AcademyAcademics.tsx - Lessons and attendance → Academic model: updates lessons
src/components/AcademyAcademics.tsx - Assessments → Classroom model: filters classes
src/components/AcademyAssessments.tsx - Assessments → Assessment model: submits work
src/components/AcademyAssessments.tsx - School users → Live application: signs in
README.md - Live application → Live fees: routes to
src/live/LiveApp.tsx - Live application → Live guardians: routes to
src/live/LiveApp.tsx - Live application → Live family: routes to
src/live/LiveApp.tsx - Live application → Live overview: routes to
src/live/LiveApp.tsx - Live application → Level notices: routes to
src/live/LiveApp.tsx - Live application → Supabase API: loads data
src/live/LiveApp.tsx - Live application → Shared live state: uses state
src/live/LiveApp.tsx - Live fees → Supabase API: reads and writes
src/live/LiveFees.tsx - Live guardians → Supabase API: reads and writes
src/live/LiveGuardians.tsx - Supabase API → Input validation: validates inputs
src/live/api.ts - Supabase API → Supabase database: queries tables
src/live/api.ts - Live application → Supabase database: persists live data
README.md