How reyszkie/school-clinic-capstone works
MQC School Clinic is a browser-based clinic workspace for staff to sign in, manage patients and clinical visits, track inventory, review reports, administer users, and maintain audit and deleted-record history. The Next.js page hosts the existing clinic interface in an iframe; its JavaScript coordinates the workspace and shared-state sync. Documented data storage uses Supabase, while the sampled state API calls Supabase REST directly. Feature modules are included from the README and tree; their internal calls were not sampled, so uncertain links are omitted or dashed.
Main entry points: app.js Workspace router · storage.js Shared state sync · login.js Staff sign-in · page.tsx Clinic page
Components 22
Application entry
- Clinic page
artifacts/mqc-clinic/app/page.tsx - Clinic interface
artifacts/mqc-clinic/public/clinic/index.html
Clinic workspace
- Workspace router
artifacts/mqc-clinic/public/clinic/js/app.js - Staff sign-in
artifacts/mqc-clinic/public/clinic/js/login.js - Navigation shell
artifacts/mqc-clinic/public/clinic/js/shell.js - Dashboard
artifacts/mqc-clinic/public/clinic/js/dashboard.js - Patients and visits
artifacts/mqc-clinic/public/clinic/js/patients.js - Inventory
artifacts/mqc-clinic/public/clinic/js/inventory.js - Reports
artifacts/mqc-clinic/public/clinic/js/reports.js - User administration
artifacts/mqc-clinic/public/clinic/js/admin.js - Clinic settings
artifacts/mqc-clinic/public/clinic/js/settings.js - Workspace state
artifacts/mqc-clinic/public/clinic/js/state.js - Clinic data
artifacts/mqc-clinic/public/clinic/js/data.js
API services
- Shared state sync
artifacts/mqc-clinic/public/clinic/js/storage.js - Login endpoint
artifacts/mqc-clinic/app/api/auth/login/route.ts - Registration endpoint
artifacts/mqc-clinic/app/api/auth/register/route.ts - Clinic state endpoint
artifacts/mqc-clinic/app/api/clinic-state/route.ts - Health endpoint
artifacts/mqc-clinic/app/api/healthz/route.ts
Data persistence
- Supabase
- Clinic data schema
lib/db/src/schema/index.ts - Drizzle database client
lib/db/src/index.ts
Other components
- Clinic staff
Connections 24
- Clinic staff → Clinic page: opens
README.md - Clinic page → Clinic interface: embeds
artifacts/mqc-clinic/app/page.tsx - Clinic interface → Workspace router: loads
README.md - Workspace router → Staff sign-in: renders
artifacts/mqc-clinic/public/clinic/js/app.js - Workspace router → Navigation shell: renders
artifacts/mqc-clinic/public/clinic/js/app.js - Workspace router → Dashboard: binds
artifacts/mqc-clinic/public/clinic/js/app.js - Workspace router → Patients and visits: renders
- Workspace router → Inventory: renders
artifacts/mqc-clinic/public/clinic/js/app.js - Workspace router → Reports: binds
artifacts/mqc-clinic/public/clinic/js/app.js - Workspace router → User administration: renders
artifacts/mqc-clinic/public/clinic/js/app.js - Workspace router → Clinic settings: binds
artifacts/mqc-clinic/public/clinic/js/app.js - Workspace router → Shared state sync: hydrates
artifacts/mqc-clinic/public/clinic/js/app.js - Clinic staff → Staff sign-in: signs in
README.md - Staff sign-in → Login endpoint: authenticates
- User administration → Registration endpoint: registers users
- Shared state sync → Clinic state endpoint: reads and writes
artifacts/mqc-clinic/public/clinic/js/storage.js - Clinic state endpoint → Supabase: reads and writes
artifacts/mqc-clinic/app/api/clinic-state/route.ts - Login endpoint → Supabase: authenticates
artifacts/mqc-clinic/app/api/auth/login/route.ts - Registration endpoint → Supabase: creates account
artifacts/mqc-clinic/app/api/auth/register/route.ts - Workspace state → Shared state sync: supplies state
- Clinic data → Shared state sync: supplies records
- Drizzle database client → Clinic data schema: loads schema
lib/db/src/index.ts - Clinic data schema → Supabase: models tables
- Clinic staff → Health endpoint: checks service