How ace-vizserve/online-admission works
HFSE Online Admission is a parent portal for new enrollment, re-enrollment, VizSchool enrollment, and open-house registration, with document submission and application tracking. Parents enter through routed, guarded pages, complete validated multi-step forms, and save or submit application data; re-enrollment can hydrate prior records. Supporting branches include document re-upload, account settings, and admin operations. Supabase provides authentication, database, and storage services; the README documents RLS. Some subsystem links are documented rather than verified in sampled implementation excerpts.
Main entry points: app-routes.tsx Route dispatcher · new New enrollment · old Re-enrollment · zustand-store.ts Form state
Components 19
Portal entry
- Route dispatcher
src/routes/app-routes.tsx - Authentication
src/actions/auth.ts
Application flows
- New enrollment
src/pages/private/enrol-student/new - Re-enrollment
src/pages/private/enrol-student/old - VizSchool enrollment
src/pages/private/enrol-student/vizschool - Open-house registration
src/pages/private/open-house - Form validation
src/zod-schema.ts - Prior-data hydration
src/actions/get-reenrollment-data.ts
Parent services
- Draft management
src/actions/drafts.ts - Document uploads
src/components/private/shared/upload-requirements - Document re-upload
src/components/private/documents/shared/reupload-dialog.tsx - Account settings
src/pages/private/account-settings.tsx - Application tracking
src/pages/private/pending-tasks.tsx - Admin operations
src/pages/admin
State and backend
- Form state
src/zustand-store.ts - Enrollment actions
src/actions/private.ts - Persistent form storage
src/lib/safe-storage.ts - Supabase services
src/lib/client.ts
Other components
- Parent
Connections 28
- Parent → Route dispatcher: opens portal
- Route dispatcher → Authentication: guards access
src/routes/app-routes.tsx - Route dispatcher → New enrollment: routes to
src/routes/app-routes.tsx - Route dispatcher → Re-enrollment: routes to
src/routes/app-routes.tsx - Route dispatcher → VizSchool enrollment: routes to
src/routes/app-routes.tsx - Route dispatcher → Open-house registration: routes to
src/routes/app-routes.tsx - Parent → Authentication: signs in
- New enrollment → Form validation: validates fields
src/pages/private/enrol-student/new/enrollment-information.tsx - Re-enrollment → Form validation: validates fields
src/pages/private/enrol-student/old/old-enrollment-information.tsx - VizSchool enrollment → Form validation: validates fields
src/pages/private/enrol-student/vizschool/new/learner-enrollment-information.tsx - Open-house registration → Form validation: validates fields
src/pages/private/open-house/application-form/open-house-enrollment-information.tsx - New enrollment → Form state: maintains form state
src/pages/private/enrol-student/new/enrollment-information.tsx - VizSchool enrollment → Form state: maintains form state
src/pages/private/enrol-student/vizschool/new/learner-enrollment-information.tsx - Open-house registration → Form state: maintains form state
src/pages/private/open-house/application-form/open-house-enrollment-information.tsx - Re-enrollment → Prior-data hydration: loads prior data
src/pages/private/enrol-student/old/old-enrollment-information.tsx - Prior-data hydration → Supabase services: reads applications
src/actions/get-reenrollment-data.ts - New enrollment → Document uploads: submits documents
- Re-enrollment → Document uploads: submits documents
- Document uploads → Enrollment actions: uploads with
- Enrollment actions → Supabase services: reads and writes
src/actions/private.ts - Form state → Persistent form storage: persists state
src/zustand-store.ts - Parent → Draft management: saves progress
- Draft management → Persistent form storage: stores drafts
- Parent → Document re-upload: updates documents
- Parent → Account settings: manages account
- Parent → Application tracking: checks status
- Admin operations → Supabase services: manages records
- Supabase services → Parent: restricts records