# BV-SIS Development Roadmap
## Recommended Implementation Order

**Document Version:** 1.0  
**Estimated Total Duration:** 12–18 months (team-dependent)  
**Methodology:** Agile sprints (2 weeks); each phase delivers usable functionality

---

## Phase 0: Foundation (Weeks 1–4)

**Goal:** Development environment, authentication, authorization, and base UI shell.

| Sprint | Deliverables |
|--------|-------------|
| 0.1 | Laravel project setup, Git repo, CI/CD pipeline, environment config |
| 0.2 | Database: users, roles, permissions (Spatie), audit log |
| 0.3 | Authentication (login, logout, password reset), session management |
| 0.4 | Base UI shell: sidebar navigation (all 13 modules), top bar, dark mode, responsive layout |

**Exit Criteria:**
- Admin can log in and see full navigation skeleton
- Roles and permissions assignable
- UI matches design guidelines

---

## Phase 1: Institution Setup (Weeks 5–10)

**Goal:** Complete institutional hierarchy — foundation for all modules.

| Sprint | Deliverables |
|--------|-------------|
| 1.1 | Institution, Campuses, Faculty CRUD |
| 1.2 | Area of Study, Programme of Study CRUD |
| 1.3 | Programme Track, Study Plan Periods |
| 1.4 | Programme Structure (tree editor, course assignment) |
| 1.5 | Academic Path, Sessions Setup, Academic Intake |
| 1.6 | Institution Setup Dashboard |

**Exit Criteria:**
- Full hierarchy creatable: Institution → Faculty → Program → Programme → Track → Structure
- Sessions and intakes configured
- Dashboard shows accurate counts

**Dependencies:** Phase 0

---

## Phase 2: Course Management (Weeks 11–14)

**Goal:** Course catalogue with prerequisites and manager assignments.

| Sprint | Deliverables |
|--------|-------------|
| 2.1 | Courses CRUD with faculty filter, programme assignment |
| 2.2 | Course Pre-requisites with cycle detection |
| 2.3 | Course Managers assignment |
| 2.4 | Course Management dashboard, CSV import/export |

**Exit Criteria:**
- Courses linked to faculties and programmes
- Prerequisites enforced at data level
- Managers assignable per course

**Dependencies:** Phase 1 (Faculty, Programmes)

---

## Phase 3: Student Admission (Weeks 15–20)

**Goal:** Complete admission pipeline from settings to application processing.

| Sprint | Deliverables |
|--------|-------------|
| 3.1 | Admission Settings, Entry Requirements |
| 3.2 | Admission Form Templates (configurable fields) |
| 3.3 | Application Data Entry (full BRD form) |
| 3.4 | Application workflow (submit, review, approve, reject) |
| 3.5 | Template Letter (WYSIWYG, PDF, email) |
| 3.6 | Registration Fees configuration |

**Exit Criteria:**
- Application can be created, reviewed, approved
- Admission letter generated and sent
- Registration fees configured per programme

**Dependencies:** Phase 1 (Programmes, Sessions, Intakes)

---

## Phase 4: Student Registration (Weeks 21–30)

**Goal:** Core student lifecycle — the largest and most critical module.

| Sprint | Deliverables |
|--------|-------------|
| 4.1 | Computer Number scheme configuration and generation |
| 4.2 | Student Registration — biodata form, advanced search |
| 4.3 | Student detail tabs: Biodata, Course Enrollment |
| 4.4 | Student detail tabs: Courses (with status management) |
| 4.5 | Student detail tabs: Register Student, Program Structure |
| 4.6 | Update Student Id with audit |
| 4.7 | Switch Program |
| 4.8 | Student Status, Student Offence |
| 4.9 | Online Registration Requests (approve/reject) |
| 4.10 | Statistics: Intake vs Program, Semester vs Intake, Registration Status |
| 4.11 | Custom Reports, Class List |
| 4.12 | Document management, student photo upload |

**Exit Criteria:**
- Full student lifecycle operable
- Search, register, enroll courses, view structure
- All 12 submenu items functional
- Application → Student conversion working

**Dependencies:** Phase 1, Phase 2, Phase 3

---

## Phase 5: Student Finance (Weeks 31–38)

**Goal:** Complete financial management with result release gates.

| Sprint | Deliverables |
|--------|-------------|
| 5.1 | Fee Setup (categories, amounts, programme/student assignment) |
| 5.2 | Course Fees |
| 5.3 | Invoice generation (manual + auto) |
| 5.4 | Receipt recording, PDF, resend |
| 5.5 | Minimum Payment rules engine |
| 5.6 | Student Clearance (deep financial view) |
| 5.7 | Release Student Results, Release Session Results |
| 5.8 | Student Finance Dashboard |

**Exit Criteria:**
- Fee → Invoice → Receipt cycle complete
- Clearance blocks/releases results correctly
- Finance dashboard with KPIs

**Dependencies:** Phase 4 (Students)

---

## Phase 6: BulkSMS and Email (Weeks 39–42)

**Goal:** Communication system with Africa's Talking integration.

| Sprint | Deliverables |
|--------|-------------|
| 6.1 | Africa's Talking API integration, send individual SMS |
| 6.2 | Contact groups, fetch from student data |
| 6.3 | Send by programme, send to all, message templates |
| 6.4 | Email channel, send history, delivery tracking |

**Exit Criteria:**
- SMS sendable to individuals, groups, programmes
- Delivery status tracked
- Email companion working

**Dependencies:** Phase 4 (Student contacts)

---

## Phase 7: Student Identity Cards (Weeks 43–46)

**Goal:** ID card capture, template design, and printing.

| Sprint | Deliverables |
|--------|-------------|
| 7.1 | ID card data capture from student biodata |
| 7.2 | Card template designer |
| 7.3 | QR/barcode generation, single print |
| 7.4 | Batch print queue, reprint/replacement workflow |

**Exit Criteria:**
- ID cards printable from student data
- Batch printing operational

**Dependencies:** Phase 4 (Student biodata/photo)

---

## Phase 8: Online Registration Portal (Weeks 47–50)

**Goal:** Student-facing self-service registration.

| Sprint | Deliverables |
|--------|-------------|
| 8.1 | Student portal authentication |
| 8.2 | Online registration wizard (course selection) |
| 8.3 | Fee preview, document upload |
| 8.4 | Request submission → admin approval queue integration |

**Exit Criteria:**
- Students can submit registration requests online
- Admin approval workflow connected

**Dependencies:** Phase 4, Phase 5

---

## Phase 9: Examination Suite (Weeks 51–60)

**Goal:** Complete examination lifecycle.

| Sprint | Deliverables |
|--------|-------------|
| 9.1 | Examination Configuration (grading schemes, grade boundaries) |
| 9.2 | Exam scheduling, venues |
| 9.3 | Mark entry (by course manager) |
| 9.4 | Bulk mark import, moderation workflow |
| 9.5 | Result processing, result slips |
| 9.6 | Finance gate integration for result release |
| 9.7 | Examination dashboard |

**Exit Criteria:**
- Marks enterable, moderatable, publishable
- Results blocked/released based on finance clearance

**Dependencies:** Phase 2, Phase 4, Phase 5

---

## Phase 10: Management Reports & Polish (Weeks 61–68)

**Goal:** Cross-module reporting, API, and production readiness.

| Sprint | Deliverables |
|--------|-------------|
| 10.1 | Management Reports dashboard |
| 10.2 | Enrollment, financial, examination report templates |
| 10.3 | Custom report builder, scheduled delivery |
| 10.4 | REST API (v1) — core endpoints |
| 10.5 | Performance optimization, security audit |
| 10.6 | User acceptance testing, bug fixes, documentation |
| 10.7 | Data migration tools (legacy Java → BV-SIS) |
| 10.8 | Production deployment, training materials |

**Exit Criteria:**
- All 13 modules operational
- API documented and tested
- Legacy data migrated
- Production deployed

**Dependencies:** All previous phases

---

## Milestone Summary

| Milestone | Phase | Week | Deliverable |
|-----------|-------|------|-------------|
| M0 | 0 | 4 | Auth + UI shell |
| M1 | 1 | 10 | Institution hierarchy complete |
| M2 | 2 | 14 | Course catalogue ready |
| M3 | 3 | 20 | Admission pipeline live |
| M4 | 4 | 30 | Student registration operational |
| M5 | 5 | 38 | Finance module complete |
| M6 | 6 | 42 | SMS/Email working |
| M7 | 7 | 46 | ID cards printable |
| M8 | 8 | 50 | Online portal live |
| M9 | 9 | 60 | Examination suite complete |
| M10 | 10 | 68 | Production release |

---

## Risk Mitigation

| Risk | Mitigation |
|------|-----------|
| Programme Structure complexity | Prototype tree editor early (Phase 1) |
| Student Registration scope | Prioritize biodata + enrollment; stats in later sprints |
| Finance-Examination gate | Design gate service in Phase 5; implement in Phase 9 |
| Legacy data migration | Begin migration mapping in Phase 1; tool in Phase 10 |
| Africa's Talking API changes | Abstract SMS provider behind interface |

---

## Team Recommendation

| Role | Count | Phases |
|------|-------|--------|
| Backend Developer (Laravel) | 2 | All |
| Frontend Developer | 1–2 | All |
| UI/UX Designer | 1 | 0, 1, 4 |
| QA Engineer | 1 | 3 onwards |
| Project Manager | 1 | All |
| DevOps | 0.5 | 0, 10 |

---

*End of Development Roadmap*
