How jiel109/unified-clearance-information-system works
UCIS is a role-based clearance and document-processing web app. Users sign in, then students submit and track document requests; department staff record approvals or holds; registrars audit requests; and clerks schedule pickup and mark releases. Admins manage accounts. The UI delegates request, schedule, account, and authentication operations to services backed by Supabase. The README also describes student records, but the sampled layout does not show how that page is reached; unsampled source relationships are omitted or marked unverified.
Main entry points: AppLayout.tsx Role Layout · AuthGate.tsx Auth Gate · auth_service.ts Authentication Service · request_service.ts Request Service
Components 21
Application and Access
- App
src/App.tsx - Auth Gate
src/components/AuthGate.tsx - Login
src/pages/LoginPage.tsx - Role Layout
src/components/AppLayout.tsx - Navigation
src/components/NavBar.tsx - Profile Modal
src/components/ProfileModal.tsx
Clearance Workflows
- Student Requests
src/pages/StudentDashboard.tsx - Request Modal
src/components/RequestModal.tsx - Department Clearance
src/pages/DepartmentClearancePage.tsx - Registrar Audit
src/pages/RegistrarDashboard.tsx - Pickup Scheduling
src/pages/SchedulingPage.tsx - Confirmation Modal
src/components/ConfirmationModal.tsx
Administration
- Student Records
src/pages/StudentRecordsPage.tsx - Student Form
src/components/StudentFormModal.tsx - Account Management
src/pages/AccountManagementPage.tsx
Services and Data
- Authentication Service
src/services/auth_service.ts - Request Service
src/services/request_service.ts - Schedule Service
src/services/schedule_service.ts - Admin Service
src/services/admin_service.ts
Other components
- User
- Supabase
Connections 29
- User → App: uses
README.md - App → Auth Gate: renders
src/App.tsx - Auth Gate → Authentication Service: checks session
src/components/AuthGate.tsx - Auth Gate → Login: shows signed out
src/components/AuthGate.tsx - Auth Gate → Role Layout: shows signed in
src/components/AuthGate.tsx - Login → Authentication Service: authenticates
src/pages/LoginPage.tsx - Role Layout → Navigation: renders
src/components/AppLayout.tsx - Role Layout → Profile Modal: renders
src/components/AppLayout.tsx - Role Layout → Authentication Service: signs out
src/components/AppLayout.tsx - Role Layout → Request Service: loads and updates
src/components/AppLayout.tsx - Role Layout → Schedule Service: updates pickup
src/components/AppLayout.tsx - Role Layout → Student Requests: routes requests
src/components/AppLayout.tsx - Role Layout → Department Clearance: routes clearance
src/components/AppLayout.tsx - Role Layout → Registrar Audit: routes audit
src/components/AppLayout.tsx - Role Layout → Pickup Scheduling: routes pickup
src/components/AppLayout.tsx - Role Layout → Account Management: routes accounts
src/components/AppLayout.tsx - Student Requests → Request Modal: opens request form
src/pages/StudentDashboard.tsx - Student Requests → Confirmation Modal: shows confirmation
src/pages/StudentDashboard.tsx - Department Clearance → Request Service: records decisions
src/components/AppLayout.tsx - Registrar Audit → Request Service: reads request data
src/components/AppLayout.tsx - Pickup Scheduling → Confirmation Modal: shows confirmation
src/pages/SchedulingPage.tsx - Pickup Scheduling → Schedule Service: requests pickup changes
src/components/AppLayout.tsx - Account Management → Admin Service: manages accounts
src/pages/AccountManagementPage.tsx - Student Records → Student Form: uses form
src/pages/StudentRecordsPage.tsx - Authentication Service → Supabase: auth and RPC
src/services/auth_service.ts - Request Service → Supabase: reads and writes
src/services/request_service.ts - Schedule Service → Supabase: updates pickup
src/services/schedule_service.ts - Admin Service → Supabase: account RPCs
src/services/admin_service.ts - Role Layout → Student Records: page access unclear