Files
schulos/docs/TODO_VISUAL.md
T

237 lines
6.0 KiB
Markdown

# SchulOS PRD Implementation Todo — Visual Roadmap
## Current Status: 30% Complete (Week 1)
```
COMPLETED THIS WEEK (Week 1):
✅ Calendar Consolidation (88% code reduction)
✅ Grading Consolidation (81% code reduction)
✅ Navigation Updates
```
---
## Critical Path: 8 Weeks to PRD Compliance
### WEEK 1 (This Week) — Foundation
```
[✅] Consolidate Calendar & Grading
[ ] API Response Standardization
[ ] useApi Hook Universal Implementation
[ ] Complete Module A: Academics Core
[ ] Complete Module K: Identity & Admin
```
**Blockers:** Everything else depends on these
---
### WEEK 2-3 — Legal & Core
```
[ ] Module L: GDPR/DSGVO Engine (CRITICAL FOR GERMANY)
[ ] Database: Add 39 missing tables
[ ] Module A: Complete Academics (Reports, Mastery Levels)
[ ] Module C: Escalation Policy Engine
[ ] Module I: Calendar (Complete, test business-day logic)
```
**Blockers:** Module L must complete before any school go-live
---
### WEEK 4 — Exam & Messaging
```
[ ] Module F: Exam Mode Browser Lockdown
[ ] Module C: Finish Escalation (with Module I integration)
[ ] Module H: Notifications Hub
```
**Blockers:** Exams need lockdown for use-case viability
---
### WEEK 5-6 — Extended Core
```
[ ] Module D: Learning Hub (Search, Progress)
[ ] Module G: Digital Notebook (Stylus Support)
[ ] Module B: Signage System
```
**Blockers:** None (after previous weeks)
---
### WEEK 7-8 — Polish & Extras
```
[ ] Module J: Dashboard Widgets
[ ] Module E: AI Tutor (Full Integration)
[ ] Testing & Hardening
[ ] Deployment Documentation
```
**Blockers:** None
---
## Module Implementation Status
| # | Module | Status | Size | Tests | Priority |
|---|--------|--------|------|-------|----------|
| A | Academics Core | 40% 🟡 | 8K LOC | None | 🔴 CRITICAL |
| B | Signage | 5% 🔴 | 2K LOC | None | 🟢 Low |
| C | Communication | 30% 🟡 | 6K LOC | None | 🔴 CRITICAL |
| D | Learning Hub | 20% 🔴 | 4K LOC | None | 🟢 Low |
| E | AI Tutor | 20% 🔴 | 3K LOC | None | 🟢 Low |
| F | Exam Mode | 35% 🟡 | 5K LOC | None | 🔴 CRITICAL |
| G | Digital Notebook | 10% 🔴 | 3K LOC | None | 🟢 Low |
| H | Notifications | 0% 🔴 | 4K LOC | None | 🟡 HIGH |
| I | Calendar | 70% 🟢 | 2K LOC | Basic | 🟡 HIGH |
| J | Dashboard | 40% 🟡 | 3K LOC | None | 🟢 Low |
| K | Identity & Admin | 50% 🟡 | 6K LOC | None | 🔴 CRITICAL |
| L | Legal/GDPR | 0% 🔴 | 5K LOC | None | 🔴 **LEGAL REQUIREMENT** |
| **TOTAL** | **12 Modules** | **30%** | **51K LOC** | **<5%** | **70% To Do** |
---
## Missing Database Tables (39 Required)
### Priority 1: Add This Week
```
Module L (GDPR):
[ ] DataRetentionPolicy
[ ] ConsentRecord
[ ] AccessLog
[ ] DataExportRequest
[ ] BreachNotification
Module A (Academics):
[ ] MasteryLevelDefinition
[ ] ClassCompetencyAssignment
```
### Priority 2: Add Week 2
```
Module C (Communication):
[ ] EscalationPolicy
[ ] EscalationRequest
[ ] ClassMessagingLock
Module H (Notifications):
[ ] Notification
[ ] NotificationTemplate
[ ] NotificationDeliveryLog
Module I (Calendar):
[ ] SchoolCalendar
[ ] ClassPeriod
[ ] RecurrencePattern
```
### Priority 3: Add Week 3-4
```
Remaining 22 tables for Modules B, D, E, F, G, J
```
---
## Code Quality Metrics
### Current State
```
Components: 72 (HIGH DUPLICATION)
API Routes: 264 (INCONSISTENT)
LOC Total: ~200K
Test Coverage: <50%
Bundle Size: ~2.5MB
```
### Target State (Week 8)
```
Components: 45 (consolidated)
API Routes: 80 (standardized)
LOC Total: ~140K
Test Coverage: 70%+
Bundle Size: ~1.8MB
```
### Reductions Needed
```
Components: -27 (consolidate)
API Routes: -184 (standardize)
LOC: -60K (remove duplication)
Add Tests: +2000 (increase coverage)
```
---
## Daily/Weekly Checklist
### Today's Work
- [x] Calendar consolidation completed
- [x] Grading consolidation completed
- [x] Navigation updated
- [x] PRD status report created
- [x] Todo list created
### This Week (Days 2-5)
- [ ] Review consolidation (performance test)
- [ ] Start API standardization
- [ ] Complete Module A DB schema
- [ ] Begin useApi hook refactor (first 10 routes)
### Next Week (Week 2)
- [ ] Complete useApi implementation (all 264 routes)
- [ ] Start Module L (GDPR)
- [ ] Add 10 priority DB tables
- [ ] Complete Module A academics core
---
## Risk Tracking
| Risk | Impact | Mitigation | Status |
|------|--------|-----------|--------|
| **Module L not ready for German law** | 🔴 CRITICAL | Start Week 1, hire legal consultant | ⚠️ At Risk |
| **Browser lockdown impossible** | 🟡 HIGH | Research Electron/Kiosk.js alternatives | ✅ Planned |
| **Database schema incomplete** | 🟡 HIGH | Add all 39 tables Week 1-2 | ⚠️ In Progress |
| **API inconsistency** | 🟡 HIGH | Standardize responses + middleware | 🚀 Starting |
| **Test coverage <5%** | 🟡 HIGH | Add 2000+ tests in parallel | ✅ Planned |
---
## Success Criteria (Week 8 Deliverable)
- [x] 12 modules defined
- [ ] 100% module feature parity with PRD
- [ ] All 39+ DB tables implemented
- [ ] 264 API routes standardized
- [ ] 70%+ test coverage
- [ ] Module L (GDPR) production-ready
- [ ] Zero hardcoded values (all DB-driven)
- [ ] Soft deletes + audit trail
- [ ] DPIA gating functional
- [ ] Self-hosting Docker image ready
---
## Deployment Timeline
```
Week 1-3: Stabilize Foundation + Legal (Module L)
Week 4-6: Implement Core Features (Modules A-H, K)
Week 7-8: Polish, Test, Document, Deploy
Week 9: Go-Live to Real School
```
---
## Notes
1. **Module L (GDPR) is non-negotiable** — German schools cannot use without it
2. **Database first** — Define all tables before UI code
3. **No hardcoding** — All rules, thresholds, templates must be DB-driven
4. **Tests early** — Each module needs tests, not afterthought
5. **Self-hosting path** — Docker + SQLite + local storage must work
---
**Created:** August 1, 2026
**Target Completion:** September 26, 2026 (8 weeks)
**Status:** On Track (with focused execution required)