How masigasignationaluniversity-cpu/enter-mnuais works
This is a university Academic Information System with separate student, faculty, department-head, OCS, and administrator portals. Users enter through the routed login and protected-page experience; role-specific pages support enlistment, course and section administration, consent and grade workflows, and institutional settings. Shared application state coordinates academic data, local persistence, and Supabase operations, while academic rules are implemented separately. The README describes the project tooling, not these product capabilities; unsampled portal areas are represented by their existing directories, and their internal links are omitted where source evidence is unavailable.
Main entry points: router.tsx Role routes · AppContext.tsx Academic state · App.tsx Application shell · client.ts Supabase client
Components 20
Application entry
- Application shell
src/App.tsx - Role routes
src/router.tsx
Shared services
- Portal layout
src/components/shared/PortalLayout.tsx - Academic state
src/contexts/AppContext.tsx - Local persistence
src/lib/store.ts - Academic rules
src/lib/academic.ts - Supabase client
src/integrations/supabase/client.ts
Student services
- Student enlistment
src/pages/student/StudentEnlistment.tsx - Plan of study
src/pages/student/StudentPlanOfStudy.tsx - Other student workflows
src/pages/student
Academic operations
- Course offerings
src/pages/ocs/OCSCourses.tsx - Grade management
src/pages/ocs/OCSGradeManagement.tsx - Faculty grade workflows
src/pages/faculty - Department workflows
src/pages/depthead - Other OCS workflows
src/pages/ocs
Administration
- Term control
src/pages/admin/AdminTermControl.tsx - User management
src/pages/admin/AdminUsers.tsx - Other administration
src/pages/admin
Other components
- Portal user
- Supabase data
Connections 23
- Portal user → Application shell: opens portal
- Application shell → Role routes: renders routes
src/App.tsx - Application shell → Academic state: reads session
src/App.tsx - Role routes → Student enlistment: routes to
src/router.tsx - Role routes → Plan of study: routes to
- Role routes → Course offerings: routes to
src/router.tsx - Role routes → Grade management: routes to
src/router.tsx - Role routes → Faculty grade workflows: routes to
src/router.tsx - Role routes → Department workflows: routes to
- Role routes → Other OCS workflows: routes to
src/router.tsx - Role routes → Term control: routes to
src/router.tsx - Role routes → User management: routes to
src/router.tsx - Role routes → Other administration: routes to
src/router.tsx - Portal layout → Academic state: reads portal state
src/components/shared/PortalLayout.tsx - Student enlistment → Academic state: uses shared state
src/pages/student/StudentEnlistment.tsx - Course offerings → Academic state: uses shared state
src/pages/ocs/OCSCourses.tsx - Grade management → Academic state: uses shared state
src/pages/ocs/OCSGradeManagement.tsx - Term control → Academic state: uses shared state
src/pages/admin/AdminTermControl.tsx - User management → Academic state: uses shared state
src/pages/admin/AdminUsers.tsx - Academic state → Local persistence: loads and saves
src/contexts/AppContext.tsx - Academic state → Academic rules: uses calculations
src/contexts/AppContext.tsx - Academic state → Supabase client: queries through
src/contexts/AppContext.tsx - Supabase client → Supabase data: accesses data