- **Domain Enhancements:** - Introduced `PausenKonfiguration` and `BesichtigungsBlock` entities to handle automatic breaks and inspection scheduling. - Added `BesichtigungsTypE` enum for inspection types (`ZU_FUSS`, `ZU_PFERD`). - Updated `Bewerb` and `Abteilung` models to include pause and inspection type fields. - **Service Updates:** - Enhanced `StartlistenService` to calculate start times, accounting for breaks and inspection buffers. - Extended `BewerbService` to support patchable time scheduling via new `updateZeitplan` API. - **Persistence Changes:** - Updated tables (`BewerbTable`, `AbteilungTable`) to persist break configurations and inspection types. - Implemented repository mappings to include these new fields. - **Testing:** - Introduced `BewerbeZeitplanIntegrationTest` to validate new scheduling behaviors, including automatic pauses and inspection handling. - **Documentation:** - Added rulebook and conceptual documents for inspection and scheduling logic in `docs/01_Architecture/`.
3.0 KiB
3.0 KiB
🏗️ [Lead Architect] — Zwischenstand & Roadmap
Stand: 3. April 2026 Rolle: Strategie, Architektur-Entscheidungen (ADRs), Domänen-Modell, Master-Roadmap
✅ Erledigte Sprints
Sprint A — Abgeschlossen
-
A-1 | ADR-0021 Tenant-Resolution-Strategie
- Schema-per-Tenant vs. Tenant-ID analysiert → Entscheidung: Eine Veranstaltung = eine Datenbank
- ADR-0021 in
docs/01_Architecture/adr/0021-tenant-resolution-strategy-de.mdabgelegt - Backend Developer informiert (Backend A-1 gestartet)
-
A-2 | Domänen-Modell formal präzisiert
- Hierarchie
Veranstaltung → Turnier → Bewerb → Abteilungfestgeschrieben TeilnehmerKontoauf Veranstaltungsebene (Multi-Turnier) ins Modell aufgenommen- Veranstaltungs-Kassa mit Turnier-übergreifendem Saldo modelliert
- Abteilungs-Typen
SEPARATE_SIEGEREHRUNGundORGANISATORISCHdefiniert - Curator beauftragt:
Ubiquitous_Language.mdaktualisiert
- Hierarchie
✅ Sprint B — Abgeschlossen
- B-1 | ADR für LAN-Sync-Protokoll schreiben
- Optionen analysieren: Event-Sourcing vs. CRDT vs. Timestamp-Sync
- Entscheidung für Meldestelle ↔ Richter-Turm Sync getroffen: Event-Sourcing Light mit Lamport-Uhren (Option D)
- ADR-0022 in
docs/01_Architecture/adr/0022-lan-sync-protocol-de.mdabgelegt - Backend Developer und Frontend Expert über Entscheidung informiert (siehe jeweilige Roadmaps)
⏸️ USB-Stick Fallback — Separate Besprechung zu einem späteren Zeitpunkt (Sprint B/C)
🟠 Sprint C — In Arbeit
-
C-1 | Zeitplan-Optimierung Konzept
- Fachliche Anforderungen (Use Cases) definiert
- Zeitberechnungs-Algorithmus spezifiziert
- Drag & Drop Logik für Kalender-Ansicht entworfen
- Konzept-Dokument in
docs/01_Architecture/abgelegt →docs/01_Architecture/konzept-zeitplan-optimierung-de.md
-
C-2 | MASTER_ROADMAP aktualisieren
- Phase 9 Fortschritt reflektieren
- Link zum Zeitplan-Konzept ergänzt
- Weitere Sprints (D, E) grob skizzieren
🔵 Sprint D — Geplant
- D-1 | USB-Stick Fallback (Sync)
- Technische Machbarkeit (File-Storage vs. SQLite-Export) prüfen
- ADR für Offline-Transfer erstellen
📌 Abhängigkeiten
| Meine Aufgabe | Blockiert wen |
|---|---|
| ADR-0021 ✅ | 👷 Backend: Tenant-Isolation (Backend Sprint A) |
| Domänen-Modell ✅ | 👷 Backend: Schema-Design; 🎨 Frontend: ViewModel-Design |
| LAN-Sync ADR (B-1) | 🎨 Frontend: Sync-UI; 👷 Backend: Sync-Endpunkte |
| Sync-Konzept (C-1) | 🐧 DevOps: mDNS/WebSocket-Infrastruktur |
💡 Empfehlung
Sofort starten: B-1 (LAN-Sync ADR) — Phase 8 der MASTER_ROADMAP wartet auf mDNS/WebSocket-Discovery; ohne ADR können Backend und Frontend nicht parallel implementieren.