Business Logic: UniPortal & UniAdmin CMS
This skill covers the core domain logic for the University Portal based on the official System Flowcharts.
Core Concepts
1. Authentication & Security Gate
- •Initial Password: Users starting with default credentials have
must_reset_password: true. - •Login Flow: Login -> Check
must_reset_password? -> If Yes, force Redirect to/reset-password. Dashboard access is denied until reset. - •Role-Based Routing: After successful auth/reset, students go to Student Dashboard; staff go to Admin Dashboard.
2. Enrollment System Flow (Priority Order)
The student enrollment process must follow this strict sequential logic:
- •Course Selection: Student picks a candidate course.
- •Credit Limit Check:
- •Mandatory Check: Total Enrolled + Candidate <= 18 Credits.
- •If Exceeded: Trigger Trade-off Decision module (Modify selection by dropping electives).
- •Prerequisite Check:
- •Verify if all prerequisite course IDs are marked as "Completed" in
Academic History. - •If Missing: Block enrollment and display "Prerequisite Missing" warning.
- •Verify if all prerequisite course IDs are marked as "Completed" in
- •Retake Verification:
- •Check if course was previously "Failed".
- •If Yes: Mark as
is_retake: true. Retakes have the highest priority and cannot be dropped to resolve credit conflicts.
- •Final Confirmation: Data is committed to
Enrollmentsand linked toAcademic History.
3. Student Registration & Status
- •Types: Students are categorized as Regular or Private.
- •Academic Standing: Status includes Active, Probation, and Suspended.
- •Credit Penalty: Students on Probation (or with 3+ semester failures) are capped at a lower subject count (8 total, max 5 new).
4. Admin Domain Rules
- •Modules: Admin manages Announcements, Student Details, Course Management, Attendance, and Results.
- •Manual Overrides: Admins have authoritative power to override student enrollment confirmation and mark entries.
- •Grading: GPA calculation occurs per semester; CGPA is a cumulative score across all attempted semesters.
Implementation Guidelines
- •Dashboard Synchronization: The Student Dashboard must show Timetable, Status, Results, and Enrollment status as primary modules.
- •Data Integrity: Every enrollment MUST verify prerequisites against
Academic Historybefore allowing the final state change. - •Consistency: All UI components must reflect these flow constraints before calling the backend.