# Alma — Product Scope & Module Catalogue

The full target scope for Alma as a multi-tenant tertiary-institution
SaaS, mapped against what has already shipped. This is the master
"what does the platform aspire to be vs. where are we" reference.

For the granular journey-level status, see `USER_JOURNEYS.md`. For
the SIS and Finance build plans, see `SIS_PLAN.md` and
`FINANCE_PLAN.md`.

_Last reconciled: 2026-06-11 — core spine (1–5, 7) + LMS (ex-forums/plagiarism) + Finance (ex-PSP) + Communications (ex-push/chat) + campus operations (Hostel, ICT Lab, HR, Library) feature-complete. Remaining ❌ modules: Research (§12), Welfare (§13), Asset/Facilities (§19)._

---

## Status legend

| Mark | Meaning |
|------|---------|
| ✅ **Shipped** | Built end-to-end, smoke-tested, in the UI a real user touches. |
| 🟡 **Partial** | Schema/backend shipped but UI absent, OR UI present but backend stubbed, OR command-line only, OR a subset of the subsystems done. |
| ❌ **Not started** | No code yet. |
| 🔜 **Planned-next** | Explicitly the next intended build. |

A module's headline status is the weakest-link of its subsystems —
a module is only ✅ when every listed subsystem is ✅.

---

## Scorecard at a glance

| # | Module | Status | Notes |
|---|--------|--------|-------|
| 1 | Online Admissions & Applicant Management | ✅ | Core journey + entrance exams + interviews + references + scholarships + international/equivalency all shipped (2026-06-10) |
| 2 | Student Information System (SIS) | ✅ | Complete incl. editors, mobility, lifecycle audit |
| 3 | Academic Administration | ✅ | Structure + curriculum + grading + policy config UI + accreditation tracking (2026-06-10) |
| 4 | Course Registration & Enrollment | ✅ | Register + capacity + waitlist + advisor-approval toggle + resit (2026-06-10) |
| 5 | Timetable & Scheduling | ✅ | Lecture + exam timetable + auto-gen + workload + hard conflict + online links (2026-06-10) |
| 6 | Learning Management System (LMS) | 🟡 | Zero-setup spaces/materials/assignments/quizzes/gradebook-sync/sessions/recordings/announcements ✅; forums/plagiarism/SCORM ❌ |
| 7 | Examination & Results Management | ✅ | Marks → grades → GPA → transcripts + exam logistics + senate + appeals + supplementary + certificates (2026-06-10) |
| 8 | Finance & Student Billing | 🟡 | Billing/invoices/ledger/instalments/bursaries/reconciliation/holds/receipts/sponsors/hostel-billing ✅; real PSP ❌ |
| 9 | Hostel & Accommodation Management | ✅ | Room classes/seat-map booking/billing/check-in/visitors/incidents ✅; maintenance ❌ |
| 10 | Human Resource Management | 🟡 | Employees/contracts/payroll(register)/leave/appraisals/tasks/attendance ✅; recruitment/tenure/training ❌ |
| 11 | Library Management | 🟡 | Catalogue/circulation/fines(→ledger)/digital/journals ✅; RFID scaffolded |
| 12 | Research & Postgraduate Management | ❌ | Not started |
| 13 | Student Welfare & Campus Life | ❌ | Not started |
| 14 | Alumni & Career Services | 🟡 | Alumni dashboard ✅; career/internship/tracer/donations ❌ |
| 15 | Identity & Access Management | 🟡 | RBAC/MFA/audit/tokens/policies ✅; full SSO ❌ |
| 16 | Communication & Notification System | 🟡 | Email + SMS + inbox + announcements + prefs + templates + reminders + emergency alerts ✅; push/chat scaffolded 🟡 |
| 17 | Document & Records Management | 🟡 | Encrypted repository + grants + signed viewer ✅; e-sign/versioning/OCR ❌ |
| 18 | Analytics, BI & Reporting | 🟡 | Admissions analytics ✅; financial/academic dashboards/report-builder ❌ |
| 19 | Asset & Facilities Management | ❌ | Not started (overlaps with new ICT Lab module #22) |
| 20 | API & Integration Layer | 🟡 | Payment(stub)/SMS(real)/Sanctum API ✅; national-ID/biometric/accounting/gov ❌ |
| 21 | Mobile & Self-Service Portal | 🟡 | Web self-service for all roles ✅; native mobile apps ❌ |
| 22 | **ICT Lab Management System** | 🟡 | Inventory/maintenance/tickets/booking/software/attendance ✅; monitoring + remote control scaffolded (need on-prem agents) |

**Shipped lifecycle spine:** Onboard tenant → school setup → online
admissions → offer/accept → enrolment → fees → registration →
timetable → attendance → grading → transcripts → mid-stream
lifecycle → progression/graduation → alumni → parent visibility →
communications. The day-to-day registrar operating loop is
production-real end to end.

---

## 1 · Online Admissions & Applicant Management — ✅

| Subsystem | Status | Evidence / gap |
|-----------|--------|----------------|
| Online application portal | ✅ | `Apply/*` public journey |
| Applicant registration/login | ✅ | `Apply/Register.vue`, `Apply/Login.vue` |
| Program/course selection | ✅ | Programme picker w/ live adjudication |
| Application fee payment | ✅ | Voucher purchase + acceptance fee (stub PSP) |
| Document upload & verification | ✅ | Auto-save wizard + officer verify |
| Recommendation/reference management | ✅ | Tokenized referee submission (Module 1.3) |
| Entrance exam management | ✅ | Sittings + scoring (Module 1.1) |
| Interview scheduling | ✅ | Panels + recommendations (Module 1.2) |
| Admission scoring engine | ✅ | `AdjudicationEngine` (green/amber/red) |
| Merit list generation | 🟡 | Queue sort by verdict; no formal ranked merit list export |
| Offer letter generation | ✅ | `GenerateOfferLetter` + watermarked PDF |
| Acceptance/decline workflow | ✅ | `Apply/Application/Status.vue` |
| Deferred admission management | ❌ | (deferment exists in SIS, not in admissions) |
| Applicant communication (SMS/email) | ✅ | email log + Arkesel SMS |
| International student processing | ✅ | Flag + visa + credential equivalency (Module 1.5) |
| Scholarship application handling | ✅ | Scheme catalogue + apply + award (Module 1.4) |
| Admission analytics dashboard | ✅ | `AdmissionsAnalytics` + Chart.js |

_Remaining (minor): formal ranked merit-list export, deferred-admission management._

---

## 2 · Student Information System (SIS) — ✅

| Subsystem | Status |
|-----------|--------|
| Student biodata management | ✅ |
| Student ID generation | ✅ (configurable scheme) |
| Student profiles | ✅ (the "WOW" page) |
| Guardian/sponsor records | ✅ (`PersonRelationship` + Phase 13.1 editors) |
| Academic history | ✅ (`StudentClassification` per year) |
| Enrollment status tracking | ✅ (`StudentStateMachine`) |
| Program/major/minor assignment | ✅ |
| Student classification | ✅ (freshman→senior, postgrad) |
| Student document repository | ✅ (encrypted) |
| Student mobility/transfer | ✅ (`TransferService`) |
| Leave of absence/deferment | ✅ (`StudentLeave`) |
| Withdrawal/suspension tracking | ✅ (`StudentWithdrawal` + UI + refund) |
| Student search & directory | ✅ (Postgres FTS) |
| Student lifecycle audit logs | ✅ (`ActivityLogger` everywhere) |

---

## 3 · Academic Administration — ✅

| Subsystem | Status |
|-----------|--------|
| Faculty/school management | ✅ |
| Department management | ✅ |
| Program management | ✅ |
| Curriculum management | ✅ (`CurriculumItem`/`CurriculumRule`) |
| Course catalog | ✅ |
| Course prerequisites | ✅ (`PrerequisiteChecker`) |
| Credit hour configuration | ✅ |
| Academic regulations engine | ✅ (prereq + progression + GPA rules, now tenant-configurable) |
| Semester/session setup | ✅ (`AcademicYear`/`Term`) |
| Academic calendar management | ✅ |
| Grading schemes | ✅ (`GradeScale` per tenant) |
| GPA/CGPA rules | ✅ (`ClassificationEngine`) |
| Academic policy configuration | ✅ (`Academic\PolicyController` + UI — credits/GPA/classification bands) |
| Accreditation tracking | ✅ (`AccreditationController` — bodies + programme accreditations + expiry) |

---

## 4 · Course Registration & Enrollment — ✅

| Subsystem | Status |
|-----------|--------|
| Semester registration | ✅ |
| Add/drop courses | ✅ |
| Course approval workflow | ✅ (per-tenant advisor-approval toggle + queue) |
| Auto prerequisite validation | ✅ |
| Course capacity management | ✅ (`CourseOffering` per year/semester, enforced) |
| Waitlisting | ✅ (FIFO; auto-promote on drop) |
| Timetable conflict detection | ✅ (in timetable module) |
| Repeat/resit management | ✅ (`attempt_no` + `is_resit` on re-registration) |
| Enrollment analytics | 🟡 (counts on dashboards; funnel proposed) |
| Academic advisor approval | ✅ (registrar/HoD approve from queue) |
| Special permission requests | 🟡 (`RegistrationWaiver` for prereq overrides only) |

_Remaining (minor): enrolment analytics funnel; named per-student advisor (both in Proposed upgrades)._

---

## 5 · Timetable & Scheduling — ✅

| Subsystem | Status |
|-----------|--------|
| Lecture timetable generation | ✅ (manual editor + greedy auto-generation) |
| Exam timetable generation | ✅ (`ExamSlot` + conflict-checked scheduler) |
| Venue allocation | ✅ (`Room` + `TimetableBlock`) |
| Lecturer workload scheduling | ✅ (workload dashboard vs configurable max) |
| Conflict detection | ✅ (hard-enforced server-side: room + lecturer) |
| Room/resource booking | ✅ |
| Hybrid/online class scheduling | ✅ (`meeting_mode` + `meeting_url` on blocks) |
| Schedule publishing | ✅ |
| Attendance session creation | ✅ (`AttendanceSession`) |

---

## 6 · Learning Management System (LMS) — 🟡 (built 2026-06-11; forums/plagiarism pending)

**Zero-setup architecture:** there is no LMS configuration anywhere. A
course space IS the `(course, academic_year, semester)` tuple — derived
from `CourseAssignment` (lecturers) and `CourseRegistration` (students,
statuses registered/completed/failed). `LmsAccess` is the single
authorisation layer; registrars bypass via `grades.release`.

| Subsystem | Status |
|-----------|--------|
| Virtual classrooms / course spaces | ✅ (derived; tabbed space shell: Materials / Assignments / Quizzes / Sessions / Announcements / People) |
| Course materials repository | ✅ (`lms_materials` — topic/week-grouped encrypted files + external links, visibility toggle) |
| Assignments & submissions | ✅ (due dates, late policy, text/file submissions, resubmit-until-graded, inline grading + feedback) |
| Online quizzes | ✅ (MCQ/true-false, windows, server-enforced time limits, attempts, auto-marked; answers never serialised to the client) |
| LMS → gradebook | ✅ (`GradeSync` writes scaled marks through `SaveRegistrationScores` into the existing draft → submit → senate → release pipeline; locked batches warn) |
| Online class sessions | ✅ (`meeting_provider` + one REUSABLE meeting URL per weekly block; Join buttons on space + student timetable) |
| Lecture recordings | ✅ (`lms_recordings` — paste link per date, titles auto-serialize "CS101 — Tuesday class — 2026-06-09") |
| Announcements | ✅ (per-space, notifies registered students via the prefs-aware notification stack) |
| Discussion forums | ❌ |
| Plagiarism integration | ❌ (Turnitin-style — integration candidate) |
| SCORM / content packages | ❌ |
| Progress analytics | 🟡 (submission/attempt data in place; dashboards with §18) |

---

## 7 · Examination & Results Management — ✅

| Subsystem | Status |
|-----------|--------|
| Continuous assessment management | ✅ (`AssessmentComponent` + `RegistrationScore`) |
| Examination management (logistics) | ✅ (`ExamSlot` + seating + invigilator rosters) |
| Marks entry | ✅ (lecturer gradebook) |
| Grade computation | ✅ |
| Result approval workflows | ✅ (`SubmitGrades` → `ReleaseGrades`) |
| Transcript generation | ✅ (PDF + viewer) |
| Academic standing calculation | ✅ |
| Supplementary/resit processing | ✅ (`SupplementaryResult` — supersedes a fail) |
| Graduation eligibility checks | ✅ (`GraduateCohort`) |
| Senate result processing | ✅ (senate_review step + toggle) |
| Result publication | ✅ |
| Result appeal management | ✅ (`ResultAppeal` — lodge / review / adjust) |
| Certificate generation | ✅ (template-driven PDF, `GenerateCertificate`) |

---

## 8 · Finance & Student Billing — 🟡

| Subsystem | Status |
|-----------|--------|
| Tuition billing | ✅ |
| Fee structure configuration | ✅ (`FeeItem`/`FeeSchedule`) |
| Invoice generation | ✅ (engine + ledger) |
| Online payments | 🟡 (**stub PSP** — real gateway pending) |
| Payment reconciliation | ✅ (bank-statement CSV import + matching) |
| Scholarships & bursaries | ✅ (ledger adjustments) |
| Installment plans | ✅ (`InvoiceInstalment`) |
| Financial holds | ✅ (blocks registration + transcripts + certificates until released) |
| Refund management | ✅ (withdrawal-triggered, with eligibility window) |
| Student account statements | ✅ (HTML + PDF) |
| Payment receipts | ✅ (auto-numbered per settled payment; PDF on demand) |
| Hostel billing | ✅ (IssueHostelInvoice on booking — Module 11) |
| Penalty/fine management | ✅ (late-fee accrual cron) |
| Sponsorship billing | ✅ (sponsor register + coverage % per student + consolidated statement PDF) |
| Financial reporting | 🟡 (payments CSV export; no BI dashboard) |

---

## 9 · Hostel & Accommodation Management — ✅

| Subsystem | Status |
|-----------|--------|
| Room classes (facilities + default fee) | ✅ (`HostelRoomClass`, facilities JSON rendered as chips) |
| Hostel → room → bed inventory | ✅ (gender restriction per hostel; occupancy derived from active allocations) |
| Per-hostel × class fee overrides | ✅ (`HostelClassFee`; `Hostel::feeFor()` resolves override → default) |
| Self-service booking | ✅ (airline-style seat map; instant booking; PostgreSQL partial unique indexes guard double-booking) |
| Officer allocation | ✅ (same seat map + student typeahead) |
| Check-in / check-out | ✅ (check-out frees the bed) |
| Hostel billing | ✅ (`IssueHostelInvoice` on booking; cancel pre-check-in voids; reuses invoices/ledger/receipts) |
| Visitor management | ✅ (visitor log with check-in/out) |
| Residence discipline | ✅ (incident book with resolve workflow) |
| Maintenance tracking | ❌ (consider with ICT Lab's fault-ticket engine, §22) |

---

## 10 · Human Resource Management — 🟡 (built 2026-06-10)

| Subsystem | Status |
|-----------|--------|
| Employee records | ✅ (`employees` register — biodata, SSNIT/TIN/bank; dept link) |
| Contracts | ✅ (`employee_contracts`; new active contract supersedes previous) |
| Payroll | ✅ (salary register: earning/deduction pay items → monthly `payroll_runs` snapshot → payslip PDFs; finalise locks. No statutory PAYE/SSNIT computation — amounts configured, not computed) |
| Leave / absence management | ✅ (types + per-employee entitlement overrides + request → approve/reject with balance enforcement) |
| Appraisals / performance management | ✅ (cycles + per-employee rating/strengths/improvements/goals, draft → submitted) |
| Task delegation | ✅ (`staff_tasks` — assign, prioritise, track to done) |
| Staff attendance | ✅ (daily sign-in/out log) |
| Recruitment & onboarding | ❌ |
| Promotions / tenure tracking | ❌ |
| Training & development | ❌ |
| Lecturer workload | ✅ (already shipped in Module 5 — workload dashboard + limits) |

_The three HR PROPOSALS (performance mgmt, absence mgmt, task delegation) all shipped with this build._

---

## 11 · Library Management — 🟡 (built 2026-06-10; RFID pending)

| Subsystem | Status |
|-----------|--------|
| Catalogue management | ✅ (`LibraryItem` bibliographic records + search/kind filters) |
| Physical copies / barcodes | ✅ (`LibraryCopy` — tenant-unique accession no.; availability derived from active loans) |
| Circulation (borrow/return) | ✅ (`Circulation` service; desk page w/ scan field; students AND staff borrow; max-loans + double-issue guards; PG partial unique index) |
| Fines | ✅ (per-day tenant policy; student fines → ledger via `IssueLibraryFineInvoice`, payable on the Fees page w/ receipts; staff fines register-only) |
| Digital library / eBooks | ✅ (encrypted pdf/epub uploads + signed grant downloads + external URLs; student Library page) |
| Journal subscriptions | ✅ (expiry on the item; expired items hidden from students, downloads blocked) |
| Research archive | ❌ (belongs with Research module §12) |
| RFID | 🟡 (`RfidProvider` interface + stub; barcode scanning live via keyboard-wedge scanners) |
| Library analytics | 🟡 (loan/fine data in place; dashboards with the §18 reporting layer) |

---

## 12 · Research & Postgraduate Management — ❌

Not started. All subsystems pending: thesis tracking, proposals,
supervisor assignment, ethics approval, publication repository,
grants, seminars, PG progress monitoring, viva scheduling.

---

## 13 · Student Welfare & Campus Life — ❌

Not started. All subsystems pending: medical records, counseling,
complaints/grievances, disciplinary, clubs, events, elections,
welfare requests, emergency contacts.

---

## 14 · Alumni & Career Services — 🟡

| Subsystem | Status |
|-----------|--------|
| Alumni directory | 🟡 (alumni role + dashboard; no cross-cohort directory) |
| Alumni communications | ✅ (inbox + announcements reach alumni) |
| Donations/fundraising | ❌ |
| Career placement | ❌ |
| Internship management | ❌ |
| Employer partnerships | ❌ |
| Graduate tracer studies | ❌ |
| Recommendation letters | ❌ |

---

## 15 · Identity & Access Management — 🟡

| Subsystem | Status |
|-----------|--------|
| User authentication | ✅ |
| Single Sign-On (SSO) | 🟡 (stubs only) |
| Multi-factor authentication | ✅ (TOTP + passkeys) |
| Role-based access control | ✅ (Spatie teams mode, 19 roles) |
| Permissions engine | ✅ (`Permissions` catalogue + propagation) |
| Audit logs | ✅ |
| Password policies | ✅ (per-tenant) |
| API access management | ✅ (Sanctum tokens UI) |

---

## 16 · Communication & Notification System — 🟡

| Subsystem | Status |
|-----------|--------|
| Email notifications | ✅ (+ outbound email log + resend) |
| SMS gateway integration | ✅ (**real Arkesel** + platform wallet + sender IDs) |
| Notification preferences | ✅ (per-channel × per-category opt-out; emergencies bypass) |
| Push notifications | 🟡 (interface + stub scaffold; real FCM/web-push deferred) |
| Internal messaging | 🟡 (announcements + inbox; no 1:1 messaging) |
| Announcement boards | ✅ |
| Comms templates | ✅ (reusable per-tenant {{token}} subject + body) |
| Automated reminders | ✅ (template + audience + cadence; `comms:send-reminders` hourly cron) |
| Emergency alerts | ✅ (all-channel, bypasses opt-outs, distinct styling) |
| Chat support integration | 🟡 (provider interface + stub scaffold; real provider deferred) |

---

## 17 · Document & Records Management — 🟡

| Subsystem | Status |
|-----------|--------|
| Document repository | ✅ (encrypted per-tenant storage) |
| Digital signatures | 🟡 (offer-letter signing; no general e-sign) |
| File versioning | ❌ |
| Records retention policies | ❌ |
| Scanned document archiving | ✅ (application docs → student docs ingest) |
| Workflow approvals | 🟡 (verify/unverify; no multi-step approval engine) |
| OCR/search indexing | ❌ |

---

## 18 · Analytics, BI & Reporting — 🟡

| Subsystem | Status |
|-----------|--------|
| Enrollment analytics | 🟡 (admissions cohort analytics ✅; live enrolment funnel ❌) |
| Financial analytics | 🟡 (payments CSV; no dashboard) |
| Academic performance dashboards | ❌ |
| Regulatory reporting | ❌ |
| Accreditation reports | ❌ |
| Predictive analytics | ❌ |
| Student retention analysis | ❌ |
| Custom report builder | ❌ |

---

## 19 · Asset & Facilities Management — ❌

Not started. Overlaps heavily with the new **ICT Lab Management
System (§22)** for lab-equipment tracking; the broader facilities
scope (vehicles, utilities, procurement) remains separate.

| Subsystem | Status |
|-----------|--------|
| Asset inventory | ❌ (ICT-lab subset planned in §22) |
| Maintenance scheduling | ❌ (ICT-lab subset planned in §22) |
| Vehicle management | ❌ |
| Classroom management | 🟡 (`Room` exists for timetabling) |
| Lab equipment tracking | ❌ (planned in §22) |
| Utility monitoring | ❌ |
| Procurement integration | ❌ |

---

## 20 · API & Integration Layer — 🟡

| Subsystem | Status |
|-----------|--------|
| Payment gateway integration | 🟡 (`PaymentGateway` interface + **stub**) |
| National ID integration | ❌ (Ghana Card captured manually) |
| LMS integration | ❌ |
| Accounting software integration | ❌ |
| Biometric systems | ❌ |
| Government education systems | ❌ |
| Email/SMS providers | ✅ (mail + Arkesel) |
| Mobile app APIs | 🟡 (Sanctum tokens; no published mobile API surface) |

---

## 21 · Mobile & Self-Service Portal — 🟡

| Subsystem | Status |
|-----------|--------|
| Student mobile app | ❌ (web self-service ✅) |
| Lecturer portal | ✅ (web) |
| Parent/guardian portal | ✅ (web — Phase 13.4) |
| Staff self-service | 🟡 (admin shells; no HR self-service) |
| Fee payment access | ✅ |
| Results access | ✅ |
| Attendance access | ✅ |
| Support ticketing | ❌ |

---

## 22 · ICT Lab Management System — 🟡 (built 2026-06-10; agents pending)

Owned by the `ict_administrator` role (perms `ictlab.manage`;
`ictlab.book` also granted to teachers + lecturers for the booking
calendar).

| # | Subsystem | Status | Notes |
|---|-----------|--------|-------|
| 22.1 | Computer/equipment inventory | ✅ | `labs` + `lab_assets` (kind, specs JSON, status lifecycle) |
| 22.2 | Maintenance history per asset | ✅ | `lab_maintenance_logs` ledger w/ costs |
| 22.3 | Lab-user management | ✅ | reuses IAM — `ictlab.*` permissions on existing roles |
| 22.4 | Lab attendance (entry/exit) | ✅ | `lab_attendances` sign-in/out log w/ student typeahead |
| 22.5 | Lab booking (conflict-free) | ✅ | standalone `lab_bookings` calendar; overlap-rejected; agenda view |
| 22.6 | Software & license management | ✅ | `lab_software` + per-lab installs; expiry + seat-overage warnings |
| 22.7 | Network monitoring | 🟡 | `MonitoringProvider` interface + stub; real probe/agent (heartbeat/SNMP) deferred |
| 22.8 | Maintenance tracking (fault tickets) | ✅ | `lab_tickets` open → assign → resolve → close; flips asset status |
| 22.9 | Security management | ✅ | reuses ActivityLogger audit on every mutation + policy engine |
| 22.10 | Report generation | ✅ | dashboard stats (assets by status, open tickets); reporting layer (§18) will extend |
| 22.11 | Remote classroom control | 🟡 | `RemoteControlProvider` interface + stub; **Veyon / NetSupport integration recommended** over building |

_Remaining: the two on-prem-agent integrations (22.7, 22.11) — interfaces + stubs shipped, bindings swap in `AppServiceProvider` when adopted._

---

## Cross-cutting features (platform-wide)

| Feature | Status |
|---------|--------|
| Audit trails | ✅ (`ActivityLogger` on every mutation) |
| Workflow approvals | 🟡 (per-feature approve/reject; no generic engine) |
| Notifications | ✅ (email + SMS + in-app inbox) |
| Role permissions | ✅ (Spatie teams, 19 roles, propagation) |
| Reporting | 🟡 (per-module; no central report builder) |
| API accessibility | 🟡 (Sanctum; no full public API) |
| File attachments | ✅ (encrypted storage + grants) |
| Multi-campus support | ✅ (`Campus` scoping) |
| Multi-session/semester support | ✅ (`AcademicYear`/`Term`) |
| Backup & disaster recovery | 🟡 (tenant export bundle; no automated DR) |
| Data export/import | 🟡 (tenant export ✅; bulk import partial) |

---

## Reconciliation vs. the suggested development phases

| Suggested phase | Modules | Alma status |
|-----------------|---------|-------------|
| **Phase 1 — Core Operations** | Admissions, SIS, Academic Admin, Course Registration, Finance, Results | **Largely ✅** — the entire core spine ships; remaining gaps are advanced sub-features (entrance exams, waitlists, exam logistics, real PSP, certificates/appeals) |
| **Phase 2 — Campus Operations** | Hostel, HR, Library, Timetable, Communication | **Mixed** — Timetable ✅ + Communication 🟡 + Hostel ✅ + HR 🟡 + Library 🟡 ship. **ICT Lab (§22) 🟡 + HR (§10) 🟡 shipped.** |
| **Phase 3 — Advanced Digital Campus** | LMS, Mobile apps, Analytics, Research, Alumni, AI/chatbot | **Mostly ❌** — Alumni 🟡 ships; the rest are future |

---

## Recommended next bets (ranked)

Given current foundations and the gap-to-impact ratio:

1. **Real payment gateway** (Finance 8 / Integration 20) — swap the
   stub for a live PSP (Hubtel/Paystack). This is the single biggest
   thing blocking real-money production use; SMS already went real in
   Phase 13.3/13.5, payments is the matching move.
2. **Examination logistics & certificates** (Results 7) — exam
   timetable, hall/seating, resit processing, senate workflow,
   certificate generation. Completes the academic loop's tail.
3. **Analytics dashboards** (BI 18) — financial + academic + enrolment
   dashboards on data that already exists; high perceived value, pure
   read-side build.
4. **ICT Lab Management (§22)** — 🟡 shipped 2026-06-10 except the two
   on-prem-agent integrations (network monitoring, remote control —
   interfaces + stubs in place, Veyon recommended).
5. **Campus Operations** — complete: Hostel ✅, ICT Lab 🟡, HR 🟡 and
   Library 🟡 all shipped 2026-06-10. Remaining partials are external
   integrations (PSP, push/chat, lab agents, RFID).
6. **LMS (§6)** and **native mobile apps (§21)** — Phase-3 horizon;
   largest builds, best tackled once the operational core is fully
   production-hardened.

---

_Maintainers: keep the §-numbered scorecard in sync after each phase
lands. `USER_JOURNEYS.md` holds the journey-level detail; this doc is
the module-level master view._
