Overview
A high‑level map of the architecture proposed for the integration of MÜSLI into MaMpf. Each later layer depends only on stable persisted results from earlier phases (no hidden cross‑coupling).
flowchart LR
A[Registration] --> B[Allocation];
B --> C[Rosters];
C --> D[Assessments & Grading];
D --> E[Eligibility];
E --> F[Exam Registration];
F --> H[Exam Grading];
H --> G[Reporting];
Core flow (see End-to-End Workflow):
- Campaign setup & user registrations (Registration System)
- Preference assignment (if needed) (Algorithm Details)
- Allocation materialization to domain rosters (Rosters)
- Ongoing roster administration (moves, late adds)
- Coursework assessments, submissions, points & grades (Assessments & Grading)
- Achievements & eligibility computation (exam gating) (Student Performance)
- Exam registration (policy gated)
- Exam assessment creation & grading (Grading Schemes)
- Dashboards for students & staff (Student Dashboard, Teacher & Editor Dashboard)
- Reporting, integrity checks (Integrity & Invariants)
- Roadmap & extensibility (Future Extensions)
Book Structure
Core Architecture
- Overview (this)
- Domain Model
- Registration System
- Rosters
- Assessments & Grading
- Student Performance
- Grading Schemes
- End-to-End Workflow
- Algorithm Details
- Examples & Demos
- Integrity & Invariants
- Future Extensions
User-Facing Applications
Project Planning
Design Tenets
- Single source of truth per concern (e.g., confirmed assignments live in UserRegistrations + domain rosters after materialization).
- Idempotent transitions (finalize!, materialize_allocation!).
- Append/extend rather than mutate history (overrides, policy traces).
- Pluggable strategies & policies