# 👷 [Backend Developer] — Zwischenbericht zur Besprechung vom 3. April 2026 > **Datum:** 3. April 2026, ca. 13:00 Uhr > **Rolle:** Spring Boot / Ktor, Kotlin, SQL, API-Design, Datenbankschema, Services --- ## ✅ Was wurde erreicht? ### Sprint A — weitgehend abgeschlossen - **Datenbankschema (A-2):** Tabellen `veranstaltungen`, `turniere`, `bewerbe`, `abteilungen`, `teilnehmer_konten`, `turnier_kassa` mit FK-Ketten implementiert. Flyway-Migrationen V1–V3 laufen durch. `DomainHierarchyMigrationTest` ist grün. - **Tenant-Isolation (A-1):** ADR-0021 vollständig umgesetzt. `TenantWebFilter`, `TenantRegistry` (JDBC), `JdbcTenantRegistry`, `TenantMigrationsRunner` und MDC-Logging implementiert. Flyway pro Tenant-Schema. Alle Unit-Tests (`JdbcTenantRegistryTest`) grün. E2E-Isolationstest (`EntriesIsolationIntegrationTest`) wieder aktiv und grün. Kritischer Bugfix: `springdoc` 3.0.0 → 2.8.9 (ClassNotFoundException behoben). - **Validierungs-Grundlage (A-3 teilweise):** Entkoppelte Policy-Schnittstelle + Bewerb-Descriptor implementiert. Konkrete ÖTO-Regeln/Limits als Policy-Implementierung umgesetzt. ### Sprint B (teilweise) — CRUD vollständig - **CRUD-Endpunkte (B-1):** Alle Kern-Entitäten vollständig implementiert: - `Veranstaltung`: GET, PUT - `Turniere`: POST, GET, GET{id}, PUT, DELETE, PATCH /status - `Bewerbe`, `Abteilungen`: vollständige CRUD-Endpunkte - `Reiter`, `Pferde`, `Vereine`, `Funktionäre`: vollständige CRUD inkl. Filter-Parameter - Konsistentes Error-Format (`problem+json`), Service-Guardrails für `PUBLISHED`-Lock - **Regulation-as-Data (via Rulebook B-2):** `LizenzKlasseE`-Enum mit `R4` ergänzt, `RD4`-Fehler korrigiert. Flyway V009: `license_height_matrix` + `horse_min_age_matrix` angelegt und befüllt. FEI Legacy→Numeric Resolver implementiert (`/api/fei/resolve/{id}`). --- ## 🔄 Was ist noch offen? ### Sprint A — Restpunkt - **A-3 Sonderregeln:** Einarbeitung der Rulebook-B-2-Spezifikation (wartet auf finale Übergabe). ### Sprint B — offen - **B-1 Rest:** OpenAPI-Dokumentation (Springdoc) noch ausstehend. E2E-Tests für CRUD-Flows. - **B-2 Kassa-Service:** `TeilnehmerKonto`-Service, `Zahlvorgang`-Service, Rechnungs-Generierung und Endpunkte noch nicht implementiert. - **B-3 ÖTO-Validierung serverseitig:** OEPS/FEI-Formate, Lizenzklassen, Altersklassen, CSN-C-NEU-Zwangsteilung — wartet auf Rulebook-Spezifikation. ### Sprint C — geplant - **C-1 Nennungs-Service**, **C-2 Stammdaten-Seeder**, **C-3 LAN-Sync-Endpunkte** (ADR-0022 ✅ freigegeben). --- ## 🔗 Abhängigkeiten | Warte auf | Von wem | Betrifft | |----------------------------|-------------|----------| | Rulebook B-2 Spezifikation | 📜 Rulebook | A-3, B-3 | --- ## 💬 Botschaft an die Runde Das Backend hat eine solide Grundlage: Tenant-Isolation läuft, alle CRUD-Endpunkte für Stammdaten sind fertig, das Datenbankschema ist vollständig. Der nächste große Block ist der **Kassa-Service (B-2)** — der ist noch komplett offen. Die **ÖTO-Validierung (B-3)** wartet auf die finale Rulebook-Übergabe. Sobald das Rulebook-Team B-2 abschließt, kann das Backend sofort mit A-3 und B-3 starten.