# BV-SIS Module Analysis
## Detailed Analysis Following BRD Order

**Document Version:** 1.0  
**Analysis Dimensions:** Purpose, Weaknesses, Missing Enterprise Features, Modern Improvements, UI, Dashboards, Reports, Analytics, Notifications, Automation, API, AI, Security, Mobile, Database

---

# MODULE 1: INSTITUTION SETUP

## 1.1 Institution Structure Module — Overview

**Purpose:** Establishes the foundational institutional identity and hierarchical academic structure upon which all other modules depend.

---

### 1.1.1 Institution

**1. Current Feature Purpose**  
System name setup — captures institution full name and abbreviation used throughout dropdowns and documents.

**2. Legacy Weaknesses**  
- Single record only; no logo, branding, or contact details  
- No version history of name changes  
- Abbreviation not validated for uniqueness across integrations  

**3. Missing Enterprise Functionality**  
- Multi-language institution names  
- Official registration numbers, tax IDs  
- Branding assets (logo, favicon, letterhead)  
- Default timezone, currency, academic calendar type  
- Institution-level settings hub  

**4. Modern Improvements**  
- Settings wizard on first setup  
- Preview of how name/abbrev appears on documents  
- Configurable document headers/footers  

**5. UI Improvements**  
- Card-based settings panel with live preview  
- Inline validation for abbrev length and format  

**6. Dashboard Widgets**  
- Institution profile completeness meter  
- Last updated timestamp  

**7. Reports**  
- Institution profile export (PDF)  

**8. Analytics**  
- N/A (foundational config)  

**9. Notifications**  
- Alert admins when institution settings change  

**10. Automation**  
- Auto-propagate abbrev changes to cached dropdowns  

**11. API Endpoints**  
- `GET/PUT /api/v1/institution`  

**12. Future AI**  
- Auto-suggest abbrev from full name  

**13. Security**  
- Restrict edit to Super Admin only; full audit trail  

**14. Mobile**  
- View-only on mobile; edit on desktop preferred  

**15. Database**  
- `institutions` table with audit fields, soft delete disabled (singleton)

#### Screen Planning: Institution
| Element | Specification |
|---------|---------------|
| **Purpose** | Configure system-wide institution identity |
| **User Story** | As Super Admin, I configure institution name and abbreviation so all modules display correct branding |
| **Layout** | Single-column form card centered; preview panel right |
| **Cards** | Identity Card, Branding Card (future) |
| **Filters** | N/A |
| **Buttons** | Save, Reset, Preview Document |
| **Forms** | Name (text, required), Abbrev (text, 2-10 chars, required) |
| **Permissions** | Configure: Super Admin |
| **Audit History** | Full change log |
| **Responsive** | Stack preview below form on mobile |

---

### 1.1.2 Campuses

**1. Purpose**  
Register physical campus locations with code, name, and address.

**2. Weaknesses**  
- No geolocation, contact phone, campus head  
- No active/inactive status  
- No student capacity tracking  

**3. Missing Enterprise**  
- Campus photos, GPS coordinates  
- Multi-address support  
- Campus-specific fee structures  
- Operating hours  

**4. Modern Improvements**  
- Map integration for address  
- Campus hierarchy (main/sub-campus)  
- Bulk import from CSV  

**5. UI**  
- Split panel: create form left, campus list table right  
- Status badges (Active/Inactive)  

**6. Dashboard Widgets**  
- Total campuses, active campuses  

**7. Reports**  
- Campus directory export  

**8. Analytics**  
- Students per campus (when linked)  

**9. Notifications**  
- New campus created notification to admins  

**10. Automation**  
- Auto-generate campus code suggestion  

**11. API**  
- `GET/POST/PUT/DELETE /api/v1/campuses`  

**12. AI**  
- Address validation and geocoding  

**13. Security**  
- CRUD restricted to Institution Admin+  

**14. Mobile**  
- List view with tap-to-call campus phone  

**15. Database**  
- `campuses`: id, code (unique), name, address, status, timestamps, soft deletes

#### Screen Planning: Campuses
| Element | Specification |
|---------|---------------|
| **Layout** | Two-column: Create Form (left 35%) + Data Table (right 65%) |
| **Table Columns** | Code, Name, Address, Status, Actions |
| **Buttons** | Add Campus, Edit, Deactivate, Export CSV |
| **Filters** | Search by code/name, Status filter |
| **Import** | CSV bulk import with validation preview |

---

### 1.1.3 Faculty

**1. Purpose**  
Create academic faculties linked to institution.

**2. Weaknesses**  
- Institution dropdown shows abbrev only — limited context  
- No dean assignment, no faculty description  

**3. Missing Enterprise**  
- Faculty dean/director assignment  
- Faculty code auto-generation rules  
- Faculty-level reporting hierarchy  

**4. Modern Improvements**  
- Rich faculty profile (description, contact email)  
- Link to departments/units (future expansion)  

**5. UI**  
- Institution shown as read-only badge when single institution  
- Faculty card grid option alongside table  

**6–15.** Dashboard: faculty count; Reports: faculty directory; API: `/api/v1/faculties`; Security: audit on all changes.

#### Screen Planning: Faculty
| Element | Specification |
|---------|---------------|
| **Forms** | Code, Name, Institution (dropdown from Institution setup) |
| **Table** | Code, Name, Institution, Programmes Count, Actions |

---

### 1.1.4 Area of Study

**1. Purpose**  
Within a selected faculty, create and list programs (areas of study) by code and title.

**2. Weaknesses**  
- "Select School" terminology inconsistent with Faculty  
- No pagination on program list  
- Switching faculty loses unsaved work  

**3. Missing Enterprise**  
- Program descriptions, accreditation info  
- Program level classification  
- Effective date ranges  

**4. Modern Improvements**  
- Faculty selector as persistent sidebar  
- Breadcrumb: Faculty > Area of Study  
- Inline edit on program list  
- Drag-to-reorder (optional)  

**5. UI**  
- Header shows "Faculty: [Name]" prominently  
- Two features: Create Program + List Programs  
- Faculty switcher dropdown in header  

**6–15.** Widgets: programs per faculty; API: `/api/v1/faculties/{id}/programs`

#### Screen Planning: Area of Study
| Element | Specification |
|---------|---------------|
| **Tabs** | N/A — single view with faculty context |
| **Quick Actions** | Switch Faculty, Add Program |
| **Table** | Code, Title, Status, Created Date, Actions |

---

### 1.1.5 Programme of Study

**1. Purpose**  
Create formal programmes with code, name, abbreviation, default study period, linked to a program (area of study).

**2. Weaknesses**  
- Split screen unclear on mobile  
- Study period mandatory but no validation messaging  
- Duplicate programme codes possible  

**3. Missing Enterprise**  
- NQF level, total credits, duration  
- Programme approval workflow  
- Versioning of programme definitions  

**4. Modern Improvements**  
- Split view: form left, list right (as BRD specifies)  
- Duplicate detection on code  
- Study period tooltip explaining impact  

**5. UI**  
- List columns: Code, Name, Abbrev, Study Period, Actions  
- Color-coded study period badges  

**6–15.** Full CRUD API; analytics on programmes by study period.

#### Screen Planning: Programme of Study
| Element | Specification |
|---------|---------------|
| **Forms** | Code, Name, Abbrev, Study Period (dropdown), Program (dropdown) |
| **Table** | Code, Name, Abbrev, Study Period, Program, Actions |

---

### 1.1.6 Programme Track

**1. Purpose**  
Define tracks within a programme with period schemes (e.g., C-ICT / MONTH 1).

**2. Weaknesses**  
- Track naming inconsistent  
- No description of what tracks represent  

**3. Missing Enterprise**  
- Track capacity limits  
- Track-specific entry requirements  
- Default track flag  

**4. Modern Improvements**  
- Programme selector with search  
- Track list with period scheme column  
- Create form: Track Name, Period Scheme dropdown  

**5. UI**  
- Example display: Track | Period Scheme | Actions  
- Confirmation before delete if students enrolled  

#### Screen Planning: Programme Track
| Element | Specification |
|---------|---------------|
| **Forms** | Program (dropdown), Track Name, Period Scheme (dropdown) |
| **Table** | Track, Period Scheme, Actions |

---

### 1.1.7 Programme Structure

**1. Purpose**  
Define the complete curriculum structure — periods, courses, core/elective designation, credit hours — for a programme track.

**2. Weaknesses**  
- Complex nested UI (period > week > course) hard to navigate  
- No visual curriculum map  
- Manual course assignment tedious  
- Typo in example: "Introdocution" preserved in data migration only  

**3. Missing Enterprise**  
- Curriculum version control  
- Copy structure from existing programme  
- Credit hour totals and validation  
- Prerequisites enforcement at structure level  

**4. Modern Improvements**  
- Tree/accordion view: Period → Sub-period → Courses  
- Drag-and-drop course assignment  
- Auto-calculate total credits  
- Bulk add courses from catalogue  
- Visual timeline of programme structure  

**5. UI**  
- Select Program + Track → auto-load structure  
- Parameters panel: Period, Course, Core/Elective  
- Table: Code, Title, Credit Hours, Core/Elective, Actions  
- Group headers for MONTH/WEEK periods  

**6. Dashboard Widgets**  
- Structures incomplete (missing courses)  

**7. Reports**  
- Programme structure PDF for accreditation  

**8. Analytics**  
- Average credits per programme  

**9–15.** API: nested resource `/programmes/{id}/tracks/{id}/structure`

#### Screen Planning: Programme Structure
| Element | Specification |
|---------|---------------|
| **Layout** | Top: Program + Track selectors; Middle: Structure tree; Bottom: Add course panel |
| **Charts** | Credit hours distribution pie chart |
| **Statistics** | Total courses, total credits, core vs elective ratio |
| **Export** | PDF, Excel curriculum map |

---

### 1.1.8 Academic Path

**1. Purpose**  
Create qualification/intake paths (January, September, July, short courses, etc.).

**2. Weaknesses**  
- Duplicate path names in example (two "January")  
- No description field  
- Edit-only list, no inline create  

**3. Missing Enterprise**  
- Path type (regular/short course/accelerated)  
- Path active/inactive status  
- Path-session relationship clarity  

**4. Modern Improvements**  
- Table: Path Name, Type, Status, Actions  
- Inline create + edit modal  
- Duplicate name prevention  

#### Screen Planning: Academic Path
| Element | Specification |
|---------|---------------|
| **Forms** | Path Name |
| **Table** | Path, Action (Edit) |
| **Buttons** | Add Path |

---

### 1.1.9 Sessions Setup

**1. Purpose**  
Create academic sessions linked to qualification paths with start/end dates.

**2. Weaknesses**  
- Date entry as separate Year/Month/Day fields — error-prone  
- Filter by Qualification Path only — no date range filter  
- No session status (open/closed/archived)  

**3. Missing Enterprise**  
- Session registration windows  
- Session capacity  
- Auto-generate session codes from path + year  

**4. Modern Improvements**  
- Filter: Qualification Path Name dropdown  
- Table: Session Code, Session Name, Start Date, End Date, Status, Actions  
- Create: Code, Name, Start Date (date picker), End Date (date picker)  
- Calendar view of sessions  

**5–15.** Notifications when session approaching end; API: `/api/v1/sessions`

#### Screen Planning: Sessions Setup
| Element | Specification |
|---------|---------------|
| **Filters** | Qualification Path Name (dropdown) |
| **Forms** | Code, Name, Start Date, End Date, Path (link) |
| **Widgets** | Upcoming session start countdown |

---

### 1.1.10 Study Plan Periods

**1. Purpose**  
Define period structures (e.g., One Year → First Month, Second Month...) and create new structure templates.

**2. Weaknesses**  
- Add Structure button UX unclear  
- No reorder of periods  
- Structure Code and Path Name relationship ambiguous  

**3. Missing Enterprise**  
- Template library of common structures  
- Clone existing structure  
- Period duration in days/weeks  

**4. Modern Improvements**  
- Select Period Structure dropdown  
- Nested list with add/delete period nodes  
- "Add New Structure" panel: Structure Code, Path Name  
- Visual tree editor  

#### Screen Planning: Study Plan Periods
| Element | Specification |
|---------|---------------|
| **Buttons** | Add Structure, Delete Period, Add Period |
| **Layout** | Structure selector top; tree editor center; create panel right |

---

### 1.1.11 Academic Intake

**1. Purpose**  
Map intake periods to sessions with start/end dates, filtered by path, intake session, and period scheme.

**2. Weaknesses**  
- Section label "L)" in BRD — minimal UI description  
- No bulk intake creation  

**3. Missing Enterprise**  
- Intake capacity and enrollment limits  
- Registration deadline per intake  
- Intake status workflow  

**4. Modern Improvements**  
- Filters: Path Name, Intake Session, Period Scheme  
- Table: Period, Session, Start Date, End Date, Status, Actions  
- Bulk generate intakes for academic year  

#### Screen Planning: Academic Intake
| Element | Specification |
|---------|---------------|
| **Filters** | Path Name, Intake Session, Period Scheme |
| **Table** | Period, Session, Start Date, End Date, Actions |

---

### 1.1.12 Institution Setup Dashboard

**1. Purpose**  
Advanced overview cards for all Institution Setup features.

**2. Weaknesses**  
- Legacy dashboard likely static counts only  

**3. Modern Improvements**  
- KPI cards: Campuses, Faculties, Programmes, Tracks, Sessions, Active Intakes  
- Quick links to each sub-module  
- Setup completeness checklist  
- Recent changes activity feed  
- Charts: programmes by faculty, sessions timeline  

#### Screen Planning: Dashboard
| Element | Specification |
|---------|---------------|
| **Cards** | Total Campuses, Faculties, Programmes, Tracks, Sessions, Intakes |
| **Charts** | Programmes by Faculty (bar), Session Calendar (timeline) |
| **Quick Actions** | Add Faculty, Add Programme, Create Session |
| **Activity Timeline** | Last 20 institution setup changes |

---

# MODULE 2: COURSE MANAGEMENT

## 2.1 Courses

**1. Purpose**  
Maintain course catalogue per faculty with code, title, credit hours, pass mark, and programme assignments.

**2. Weaknesses**  
- Programme assignment as "add multiple courses to faculty" — confusing wording  
- No course description/syllabus  
- No course status (active/retired)  

**3. Missing Enterprise**  
- Course learning outcomes  
- Assessment weight configuration  
- Course versioning  
- Department assignment  

**4. Modern Improvements**  
- Faculty dropdown → course list table  
- Create form: Title, Alternate Title, Course Code, Credit Hours, Pass Mark %, Remark, Faculty, Programs (multi-select)  
- Search and filter within course list  

**5–15.** Full CRUD API; reports: course catalogue PDF; analytics: courses per faculty.

#### Screen Planning: Courses
| Element | Specification |
|---------|---------------|
| **Layout** | Faculty selector top; split create/list |
| **Table** | Code, Title, Credit Hours, Pass Mark, Programs, Actions |
| **Import** | Bulk course import CSV |

---

## 2.2 Course Pre-requisite

**1. Purpose**  
Define prerequisite relationships between courses within a faculty.

**2. Weaknesses**  
- Single prerequisite at a time  
- No circular dependency detection  
- No prerequisite groups (OR/AND logic)  

**3. Missing Enterprise**  
- Prerequisite chains visualization  
- Override rules for admin  
- Prerequisite validation at registration  

**4. Modern Improvements**  
- Faculty → Course dropdown → Prerequisite dropdown → Save  
- Table: #, Course Name, Prerequisite(s), Actions  
- Visual dependency graph  

#### Screen Planning: Course Pre-requisite
| Element | Specification |
|---------|---------------|
| **Forms** | Faculty, Course, Pre-requisite (dropdowns) |
| **Table** | #, Course Name, Prerequisites, Actions |
| **Validation** | Circular dependency warning |

---

## 2.3 Course Managers

**1. Purpose**  
Assign academic managers/lecturers to courses.

**2. Weaknesses**  
- "Get Manager" button unclear UX  
- No manager role distinction (primary/co-manager)  
- No term/session scoped assignment  

**3. Missing Enterprise**  
- Manager workload dashboard  
- Session-specific assignments  
- Notification to manager on assignment  

**4. Modern Improvements**  
- Faculty → Course dropdown → Get Manager → Manager dropdown  
- Table of current assignments  
- Split panel layout per BRD pattern  

#### Screen Planning: Course Managers
| Element | Specification |
|---------|---------------|
| **Forms** | Faculty, Course, Manager |
| **Buttons** | Get Manager, Save Assignment |
| **Table** | Course, Manager, Faculty, Session, Actions |

---

# MODULE 3: STUDENT REGISTRATION

*(BRD Module 3 — Nav position #5)*

## 3.1 Computer Number

**1. Purpose**  
Configure and generate student computer numbers using school code, prefix, number size, and date tokens ({YY}, {YYYY}, {M}, {MM}).

**2. Weaknesses**  
- Manual "Current No" update  
- No preview of next N numbers  
- No uniqueness validation across prefixes  

**3. Missing Enterprise**  
- Multiple numbering schemes per programme  
- Bulk generation queue  
- Number reservation  

**4. Modern Improvements**  
- Live preview: "Next Generated No: 2602003010"  
- Token helper panel showing available placeholders  
- Generation history log  

#### Screen Planning
| Forms | School Code, Prefix, Number Size, Current No, Token Pattern |
| Buttons | Update, Preview Next 10, Reset |

---

## 3.2 Update Student Id

**1. Purpose**  
Change a student's ID from old to new with audit trail.

**2. Weaknesses**  
- No reason field for change  
- No approval workflow  
- No impact preview (linked records)  

**3. Modern Improvements**  
- Old Student Id, New Student Id, Reason, Effective Date  
- Preview affected records count  
- Approval for non-admin roles  

---

## 3.3 Student Registration

**1. Purpose**  
Core student biodata capture, search, enrollment, course management, and registration — the heart of the SIS.

**2. Weaknesses**  
- Search limited; slow on large datasets  
- Tab navigation (Biodata, Course Enrollment, Courses, Register Student, Program Structure) not persistent  
- Document upload basic  
- No duplicate student detection  

**3. Missing Enterprise**  
- 360° student profile  
- Duplicate detection (NRC, name, DOB)  
- Student photo with crop  
- Guardian multiple contacts  
- Enrollment history timeline  
- Bulk registration  

**4. Modern Improvements**  
- Advanced filter → student list with pagination ("205 records in 0.001s" → instant search)  
- Student detail tabs preserved from BRD  
- All biodata fields as specified  
- Course status: Normal, Exempted, Repeat, Deferred, Overload, Withdraw  
- Document sections: Previous Academics, National Identity, References, Other  

**5. UI**  
- Search By: student number, NRC, name  
- Student list → detail page  
- Top nav tabs: Biodata | Course Enrollment | Courses | Register Student | Program Structure | Close  
- Learning Centre context panel  

**6–15.** Comprehensive API for student CRUD, enrollment, course status; mobile-responsive student profile.

#### Screen Planning: Student Registration (Master)
| Element | Specification |
|---------|---------------|
| **Search** | Student Number, NRC, Name — instant results |
| **List** | Paginated with photo thumbnail, number, name |
| **Detail Tabs** | Biodata, Course Enrollment, Courses, Register Student, Program Structure |
| **Attachments** | Categorized document upload zones |
| **Audit** | Full student record history |

---

## 3.4 Online Registration Requests

**1. Purpose**  
Review and approve/reject online registration requests — next-generation admission request workflow.

**2. Weaknesses**  
- Legacy likely email/manual based  

**3. Modern Improvements**  
- Request queue with status filters  
- Approve/Reject with comments  
- Bulk approve  
- Email/SMS notification on decision  
- Document verification checklist  

---

## 3.5 Switch Program

**1. Purpose**  
Transfer student between programmes with session tracking.

**2. Weaknesses**  
- No credit transfer mapping  
- No approval chain  

**3. Modern Improvements**  
- Student search → current program/session display  
- New Program dropdown, New Intake Session dropdown  
- Student Programs Table: Program, Period, Session, Default, Action  
- Credit transfer preview  

---

## 3.6 Student Status

**1. Purpose**  
View registration status across sessions for a student.

**2. Weaknesses**  
- Search only; no bulk status view  

**3. Modern Improvements**  
- Advanced search  
- Table: Session, Status, Study Period, Batch  
- Status badges: Registered, Not Registered, Graduated, Suspended  

---

## 3.7 Student Offence

**1. Purpose**  
Record and view student disciplinary offences.

**2. Weaknesses**  
- BRD says "you will make it" — minimal legacy spec  

**3. Modern Improvements**  
- Offence types (configurable)  
- Severity levels, dates, descriptions, outcomes  
- Attach evidence documents  
- Appeal workflow  

---

## 3.8 Student Courses

*(Part of student detail — Courses tab)*

**1. Purpose**  
View/manage courses by year/semester with status updates.

**2. Modern Improvements**  
- Period selector (Semester 1, etc.)  
- Course table with status dropdown  
- Bulk status update  

---

## 3.9 Students' Stat - Intake vs Program

**1. Purpose**  
Statistical analysis of students by intake and programme.

**3. Modern Improvements**  
- Cross-tab charts, drill-down, export  

---

## 3.10 Semester Vs Intake Stats

**1. Purpose**  
Semester enrollment statistics by intake.

**3. Modern Improvements**  
- Comparative charts, trend lines  

---

## 3.11 Semester Registration Status

**1. Purpose**  
Overview of registration completion by semester.

**3. Modern Improvements**  
- Progress bars, filter by faculty/programme  

---

## 3.12 Custom Reports

**1. Purpose**  
User-defined reports for registration data.

**3. Modern Improvements**  
- Report builder with saved templates  
- Schedule email delivery  

---

## 3.13 Class List

**1. Purpose**  
Generate class lists by course, programme, session.

**3. Modern Improvements**  
- Filter by course/session/faculty  
- Print PDF, export Excel  
- Include photos option  

---

# MODULE 4: BULKSMS AND EMAIL

*(BRD Module 4 — Nav position #11)*

**1. Purpose**  
Send SMS to individuals, groups, programmes, or all students via Africa's Talking API.

**2. Weaknesses**  
- No delivery tracking  
- No message templates  
- No scheduling  

**3. Modern Improvements**  
- Individual send  
- Group creation and management  
- Fetch numbers from student data  
- Send by programme or all  
- Message templates  
- Scheduled sends  
- Delivery reports  
- Email channel alongside SMS  
- Opt-out management  

**4. UI**  
- Compose panel, recipient selector, preview, send  
- Group management CRUD  
- Send history with delivery status  

**5. API**  
- Africa's Talking integration only (per BRD)  
- Internal: `/api/v1/notifications/sms`

**6. Security**  
- Rate limiting, permission-gated sending, audit log  

---

# MODULE 5: STUDENT ADMISSION

*(BRD Module 5 — Nav position #3)*

## 5.1 Admission Settings

**1. Purpose**  
Configure admission year, selection rounds, and scheme names.

**2. Weaknesses**  
- BRD notes "most things here are useless" — streamline to useful config  

**3. Modern Improvements**  
- Admission Year, Selection Round, Active Schemes (Matric, Diploma, Degree, Nursing, Masters, PhD)  
- Remove redundant fields; keep business-critical settings  

---

## 5.2 Entry Requirements

**1. Purpose**  
Define entry requirements per programme/scheme with add/delete.

**3. Modern Improvements**  
- Requirement builder linked to programmes and schemes  
- Document requirements checklist  

---

## 5.3 Template Letter

**1. Purpose**  
Generate admission letters sent to students upon admission.

**3. Modern Improvements**  
- WYSIWYG template editor with merge fields  
- PDF generation, email attachment  
- Multiple templates per programme  

---

## 5.4 Application Data Entry

**1. Purpose**  
Full application form mirroring student registration fields plus admission-specific fields.

**2. Fields (Preserved)**  
- Profile picture, Academic Information (Mode of Entry, Intake Year/Month, Study Mode)  
- Personal Information (Application Id auto-generated, Title, Names, NRC, DOB, Sex, Marital Status, Nationality, Disability, Refugee Status)  
- Contact Information, Next of Kin, Sponsorship, References (2)  
- Document handling  

**3. Modern Improvements**  
- Multiple admission form templates  
- Registration fee configuration  
- Application status workflow  
- Online submission portal link  

---

# MODULE 6: STUDENT IDENTITY CARDS

*(BRD Module 6 — Nav position #13)*

**1. Purpose**  
Capture and manage student identity card data.

**2. Weaknesses**  
- BRD minimal — "make it unique"  

**3. Modern Improvements**  
- Photo capture/upload with crop  
- Card template designer  
- Barcode/QR generation  
- Batch print  
- Reprint tracking  
- Lost card replacement workflow  
- Integration with student biodata  

---

# MODULE 7: STUDENT FINANCE

*(BRD Module 7 — Nav position #4)*

## 7.1 Fee Setup

**1. Purpose**  
Create fee categories and amounts; assign to programmes or individual students.

**3. Modern Improvements**  
- Fee category hierarchy  
- Programme assignment matrix  
- Individual student overrides  
- Effective date ranges  

---

## 7.2 Course Fees

**1. Purpose**  
Assign fees to specific courses.

**3. Modern Improvements**  
- Course fee linked to registration billing  
- Bulk assignment  

---

## 7.3 Invoice

**1. Purpose**  
Create invoices for students and programmes.

**3. Modern Improvements**  
- Auto-generate from fee setup  
- Invoice PDF, email delivery  
- Partial payments, line items  

---

## 7.4 Minimum Payments

**1. Purpose**  
Flexible minimum payment rules before registration/exams/results.

**3. Modern Improvements**  
- Rule builder: percentage or fixed amount  
- Apply by programme, session, fee category  
- Payment plan support  

---

## 7.5 Receipts

**1. Purpose**  
View all receipts; resend to students.

**3. Modern Improvements**  
- Receipt search, PDF reprint  
- Email/SMS resend  
- Payment method tracking  

---

## 7.6 Student Clearance

**1. Purpose**  
Deep financial overview — paid, balances, unpaid categories.

**3. Modern Improvements**  
- Clearance dashboard per student  
- Category breakdown  
- Clearance certificate generation  
- Hold flags for registration/results  

---

## 7.7 Release Student Results

**1. Purpose**  
Release final results if fees cleared.

**3. Modern Improvements**  
- Automated fee check gate  
- Manual override with approval  
- Release audit trail  

---

## 7.8 Release Session Results

**1. Purpose**  
Release results for a session (group or individual) if fees OK.

**3. Modern Improvements**  
- Bulk session release  
- Individual exception handling  
- Integration with Examination module  

---

## 7.9 Student Finance Dashboard

**1. Purpose**  
Advanced cards and analytics for finance.

**3. Modern Improvements**  
- Revenue KPIs, outstanding balances, collection rate  
- Charts: collections over time, fees by category  
- Top debtors list  

---

# MODULE 8: ONLINE REGISTRATION

*(Nav position #6 — Enterprise expansion)*

**1. Purpose**  
Student self-service portal for online registration requests submitted to admin queue (Online Registration Requests).

**3. Modern Improvements**  
- Student login portal  
- Course selection for semester  
- Fee preview before submission  
- Document upload  
- Status tracking  
- Mobile-friendly wizard  

---

# MODULE 9: EXAMINATION

*(Nav position #7 — Enterprise expansion)*

**1. Purpose**  
Examination scheduling, registration, and administration.

**3. Modern Improvements**  
- Exam timetable builder  
- Student exam registration  
- Seat allocation  
- Invigilator assignment  
- Conflict detection  

---

# MODULE 10: EXAMINATION CONFIGURATION

*(Nav position #8 — Enterprise expansion)*

**1. Purpose**  
Grading schemes, exam types, pass/fail rules, grade boundaries.

**3. Modern Improvements**  
- Configurable grading scales  
- GPA calculation rules  
- Mark conversion tables  
- Supplementary exam rules  

---

# MODULE 11: EXAMINATION MARKING

*(Nav position #9 — Enterprise expansion)*

**1. Purpose**  
Mark entry, moderation, and result processing.

**3. Modern Improvements**  
- Mark entry by course manager  
- Bulk import marks CSV  
- Moderation workflow  
- Result slip generation  
- Integration with Release Results (Finance gate)  

---

# MODULE 12: MANAGEMENT REPORTS

*(Nav position #10 — Enterprise expansion)*

**1. Purpose**  
Cross-module reports for institutional leadership.

**3. Modern Improvements**  
- Enrollment reports, financial summaries, examination statistics  
- Scheduled report delivery  
- Custom dashboard for management  
- Export PDF/Excel  

---

# MODULE 13: SYSTEM MAINTENANCE

*(Nav position #12 — Enterprise expansion)*

**1. Purpose**  
System administration, users, roles, backups, logs.

**3. Modern Improvements**  
- User CRUD, role assignment  
- System settings  
- Backup/restore  
- Activity logs  
- Health monitoring  
- Email/SMS gateway config  

---

*End of Module Analysis — See 03_FEATURE_ANALYSIS.md for per-feature detail and 15_MODERNIZATION_REPORT.md for modernization mapping.*
