Core Foundation — Scope & Implementation
Phase 1 minimum sellable product. Every add-on module (1–22) builds on this base.
Start here: Implement Core before any fee, attendance, or extended module. Core is a bundle (gateway, auth, org, students, files, notifications, portal shells) — not “module 1 only”.
What Core includes
| Area | Capabilities | Service |
|---|---|---|
| Platform | API gateway, JWT, RBAC, org isolation | api-gateway, auth-service |
| Organisation | School, campuses, years, terms, classes | organization-service |
| People | Staff accounts, parent/guardian accounts, student registration & enrollment | auth-service, student-service |
| Files | Photos, documents, presigned URLs | file-service |
| Notifications | SMS/email setup (Africa's Talking), welcome invites | notification-service |
| Portals | Admin shell + family portal (child list, login) | React apps |
What Core does NOT include
- Fee invoices, payment claims, receipts (Fees — Phase 2)
- Document library, homework (Portal add-on)
- Attendance, academics, health, modules 13–22
Core microservices (Phase 1 deploy)
| Service | Port | Database |
|---|---|---|
api-gateway | 8080 | — |
auth-service | 8081 | auth_db |
organization-service | 8082 | org_db |
student-service | 8083 | student_db |
notification-service | 8090 | notification_db |
file-service | 8091 | file_db |
Plus PostgreSQL, RabbitMQ, Redis, MinIO. Add-on services deploy only when sold.
Foundation events
StudentEnrolled— student ACTIVE; fee/attendance modules subscribe laterGuardianLinked— parent account linkedStaffUserCreatedAcademicYearOpenedStudentTransferred
Implementation checklist
- Repo & compose — monorepo, Docker Compose, shared JWT library, CI, feature flags
- organization-service — campuses, years, terms, classes; 3-term Uganda seed
- auth-service — staff + parent users, roles, campus scope, audit
- student-service — registration wizard, guardians, approve → ACTIVE, events
- file-service — MinIO upload, presigned GET
- notification-service — SMS/email, welcome on
StudentEnrolled - api-gateway — routes, JWT filter, CORS
- Admin portal MVP — org setup, student registration, staff users
- Family portal MVP — parent login, linked children only
- Migration & UAT — spreadsheet import, acceptance tests
Acceptance criteria (Core go-live)
- Admin creates campus, year, classes
- Reception registers student with guardians, photo, documents
- Admin approves → parent receives SMS with portal link
- Parent logs in and sees all linked children
- Director sees enrollment count per campus
- Teacher cannot access other campus without scope
Timeline (indicative — 500 students, 1 campus)
| Weeks | Deliverable |
|---|---|
| 1–2 | Platform skeleton, gateway, auth |
| 3–4 | Organization service + admin org UI |
| 5–7 | Student service + registration wizard |
| 8–9 | Files, notifications, guardian invite |
| 10 | Family portal MVP, UAT, Core go-live |
Phase 2 (Fees) starts week 11. See module catalog and extended modules roadmap.