Files
meldestelle/docs/04_Agents/Roadmaps/Backend_Roadmap.md
T
stefan 236876a043 docs: restructure and streamline sprint execution order
- Consolidated and removed redundant steps in `SPRINT_EXECUTION_ORDER.md`.
- Simplified descriptions and roadmap formatting for improved clarity.
- Updated progress and dependencies to align with Phase 8 objectives.
- Adjusted role-specific roadmaps to reflect the latest sprint updates.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-04-03 09:43:11 +02:00

4.9 KiB
Raw Blame History

👷 [Backend Developer] — Zwischenstand & Roadmap

Stand: 3. April 2026 Rolle: Spring Boot / Ktor, Kotlin, SQL, API-Design, Datenbankschema, Services


Erledigte Sprints

Sprint A (Teilweise) — Abgeschlossene Punkte

  • A-2 | Datenbankschema: Domänen-Hierarchie umgesetzt
    • Tabellen veranstaltungen, turniere, bewerbe, abteilungen mit FK-Ketten
    • teilnehmer_konten (Veranstaltungsebene), turnier_kassa (Turnierebene)
    • Flyway-Migrationen V1V3 (inkl. Turnier-Status DRAFT/PUBLISHED)
    • DomainHierarchyMigrationTest grün

🔴 Sprint A — Offen (höchste Priorität)

  • A-1 | Tenant-Isolation vollständig ausrollen ⚠️ BLOCKER

    • ADR-0021 übernommen; TenantWebFilter, TenantRegistry (JDBC) implementiert
    • Entries Service: JdbcTenantRegistry, TenantMigrationsRunner, MDC-Logging
    • Flyway pro Tenant-Schema; Unit-Tests (JdbcTenantRegistryTest) grün
    • Rollout auf weitere Services (aktuell nur Entries Service migriert)
    • E2E-Isolationstest re-enablen (@Disabled wegen Jackson/Spring-Web-Autokonfiguration)
  • A-3 | Validierungs-Grundlage: Turnierkategorie-Limits

    • Entkoppelte Policy-Schnittstelle + Bewerb-Descriptor implementiert
    • Konkrete ÖTO-Regeln/Limits umgesetzt (eigene Policy-Implementierung)
    • Sonderregeln aus 📜 Rulebook B-2 Spezifikation einarbeiten (wartet auf Übergabe)

🟠 Sprint B — Priorität 2 (diese Woche)

  • B-1 | CRUD-Endpunkte vervollständigen

    • Veranstaltung: GET, PUT
    • Turniere: POST, GET, GET{id}, PUT, DELETE, PATCH /status
    • Bewerbe: POST, GET, GET{id}, PUT, DELETE
    • Abteilungen: POST, GET, GET{id}, PUT, DELETE
    • Konsistentes Error-Format (problem+json); Service-Guardrails für PUBLISHED-Lock
    • Reiter: POST/GET/GET{id}/PUT/DELETE (Suche q, Filter lizenzKlasse, vereinId)
    • Pferde: POST/GET/GET{id}/PUT/DELETE (Suche q, Filter jahrgang, besitzerId)
    • Vereine: POST/GET/GET{id}/PUT/DELETE (Suche q, Filter verband)
    • Funktionäre: POST/GET/GET{id}/PUT/DELETE (Suche q, Filter rolle)
    • OpenAPI-Dokumentation (Springdoc) veröffentlichen
    • E2E-Tests: CRUD-Flows Turnier → Bewerb → Abteilung inkl. FK-Constraints
  • B-2 | Kassa-Service implementieren

    • TeilnehmerKonto-Service: Saldo aus mehreren Turnieren aggregieren
    • Zahlvorgang-Service: Zahlung auf Veranstaltungs-Ebene buchen
    • Rechnungs-Generierung: Separate Rechnung je Turnier aus einem Zahlvorgang
    • Endpunkte: GET /veranstaltungen/{id}/kassa/saldo, POST /veranstaltungen/{id}/zahlvorgaenge
  • B-3 | ÖTO-Validierung serverseitig absichern

    • Spezifikation von 📜 Rulebook B-2 umsetzen (wartet auf Übergabe)
    • OEPS-Nummern-Format, FEI-ID-Format validieren
    • Lizenzklassen-Validierung (R1R4, LZF)
    • Altersklassen-Kompatibilität Pferd × Bewerb
    • Abteilungs-Zwangsteilung CSN-C-NEU (≤95cm: ohne/mit Lizenz; ≥100cm: R1/R2+)

🟡 Sprint C — Priorität 3 (nächste Woche)

  • 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
QA: E2E-Test-Umgebung Port-Binding Fix 🧐 QA A-1 @Disabled

💡 Empfehlungen (nach Priorität)

  1. A-1 Rollout — Tenant-Isolation auf alle verbleibenden Services ausweiten; @Disabled E2E-Test re-enablen sobald Jackson-Fix vorliegt.
  2. B-1 Reiter/Pferde/Vereine/Funktionäre — Frontend wartet auf diese Endpunkte für ViewModel-Anbindung.
  3. B-3 ÖTO-Validierung — Erst nach Rulebook-Übergabe starten, aber Grundstruktur (Validator-Interface) schon vorbereiten.