meldestelle/docs/04_Agents/Roadmaps/Backend_Roadmap.md

62 lines
2.3 KiB
Markdown

# 👷 [Backend Developer] — Zwischenstand & Roadmap
> **Stand:** 10. April 2026
> **Rolle:** Spring Boot / Ktor, Kotlin, SQL, API-Design, Datenbankschema, Services
---
## ✅ Erledigte Sprints
### Sprint A — Abgeschlossene Punkte
- [x] **A-1** | Tenant-Isolation vollständig ausrollen
- [x] **A-2** | Datenbankschema: Domänen-Hierarchie umgesetzt
- [x] **A-3** | Validierungs-Grundlage: Turnierkategorie-Limits
### Sprint B — Abgeschlossene Punkte
- [x] **B-1** | CRUD-Endpunkte (Reiter, Pferde, Vereine, Funktionäre)
- [x] **B-2** | Kassa-Service (Teilnehmer-Konten & Buchungen v1)
- [x] **B-3** | ÖTO-Validierung (OEPS/FEI-ID, Lizenzen)
---
## 🔴 Sprint C — Offen (höchste Priorität)
- [ ] **C-1** | Nennungs-Service (Grundstruktur)
- [ ] Tabelle `nennungen` anlegen (FK → `abteilung_id`, Status-Automat)
- [ ] `NennungsService`: Erstellen, Prüfen, Bestätigen, Ablehnen
- [ ] Nennungs-Workflow-Endpunkte
- [ ] **C-2** | Stammdaten-Seeder
- [ ] Initiale Testdaten (Reiter, Pferde, Vereine) für Entwicklungsumgebung
- [ ] Seed-Skript in `config/scripts/` ablegen
- [ ] **C-3** | LAN-Sync-Endpunkte (ADR-0022 ✅ freigegeben)
- [ ] `SyncEvent`-Datenmodell in `core`-Modul definieren (KMP-shared, Phase 1)
- [ ] SQLDelight-Tabellen `sync_events`, `sync_snapshots` anlegen
- [ ] `LamportClock`-Implementierung (thread-safe, persistent)
- [ ] WebSocket-Server auf Meldestelle-Desk (Ktor): HELLO/HELLO_ACK/SYNC_DELTA/SYNC_PUSH
- [ ] mDNS-Discovery-Service integrieren (gemäß ADR-0020)
- [ ] Domänen-Mastership-Validierung im Event-Handler
- [ ] Reconnect-Logik mit Delta-Sync (`lastKnownSeq`)
---
## 📌 Abhängigkeiten
| Warte auf | Von wem | Betrifft |
|----------------------------------------|-------------|-----------------|
| Rulebook B-2 Spezifikation | 📜 Rulebook | A-3, B-3 |
| ~~ADR-0022 (LAN-Sync)~~ | ✅ Erledigt | C-3 freigegeben |
---
## 💡 Empfehlungen (nach Priorität)
1. **A-3 / B-3 Sonderregeln & ÖTO-Validierung** — Warten auf Rulebook B-2 Übergabe; Validator-Interface-Grundstruktur
kann schon vorbereitet werden.
2. **B-1 OpenAPI** — Springdoc-Dokumentation für alle neuen Endpunkte (Reiter/Pferde/Vereine/Funktionäre)
veröffentlichen.
3. **B-2 Kassa-Service** — Nächster großer Block nach Abschluss der CRUD-Endpunkte.