meldestelle/docs/04_Agents/Roadmaps/Architect_Roadmap.md
Stefan Mogeritsch 0aa1a1b9b7 feat(entries+time-scheduling): add support for automatic breaks and inspection type configurations
- **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/`.
2026-04-11 12:21:42 +02:00

77 lines
3.0 KiB
Markdown

# 🏗️ [Lead Architect] — Zwischenstand & Roadmap
> **Stand:** 3. April 2026
> **Rolle:** Strategie, Architektur-Entscheidungen (ADRs), Domänen-Modell, Master-Roadmap
---
## ✅ Erledigte Sprints
### Sprint A — Abgeschlossen
- [x] **A-1** | ADR-0021 Tenant-Resolution-Strategie
- [x] Schema-per-Tenant vs. Tenant-ID analysiert → Entscheidung: Eine Veranstaltung = eine Datenbank
- [x] ADR-0021 in `docs/01_Architecture/adr/0021-tenant-resolution-strategy-de.md` abgelegt
- [x] Backend Developer informiert (Backend A-1 gestartet)
- [x] **A-2** | Domänen-Modell formal präzisiert
- [x] Hierarchie `Veranstaltung → Turnier → Bewerb → Abteilung` festgeschrieben
- [x] `TeilnehmerKonto` auf Veranstaltungsebene (Multi-Turnier) ins Modell aufgenommen
- [x] Veranstaltungs-Kassa mit Turnier-übergreifendem Saldo modelliert
- [x] Abteilungs-Typen `SEPARATE_SIEGEREHRUNG` und `ORGANISATORISCH` definiert
- [x] Curator beauftragt: `Ubiquitous_Language.md` aktualisiert
---
## ✅ Sprint B — Abgeschlossen
- [x] **B-1** | ADR für LAN-Sync-Protokoll schreiben
- [x] Optionen analysieren: Event-Sourcing vs. CRDT vs. Timestamp-Sync
- [x] Entscheidung für Meldestelle ↔ Richter-Turm Sync getroffen: **Event-Sourcing Light mit Lamport-Uhren** (Option
D)
- [x] ADR-0022 in `docs/01_Architecture/adr/0022-lan-sync-protocol-de.md` abgelegt
- [x] 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
- [x] **C-1** | Zeitplan-Optimierung Konzept
- [x] Fachliche Anforderungen (Use Cases) definiert
- [x] Zeitberechnungs-Algorithmus spezifiziert
- [x] Drag & Drop Logik für Kalender-Ansicht entworfen
- [x] Konzept-Dokument in `docs/01_Architecture/` abgelegt → `docs/01_Architecture/konzept-zeitplan-optimierung-de.md`
- [ ] **C-2** | MASTER_ROADMAP aktualisieren
- [x] Phase 9 Fortschritt reflektieren
- [x] 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.