b9ec070993
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
- **Docker Fixes:** Resolved failed builds for Gateway and Ping services by switching to `eclipse-temurin:21-jdk-alpine`, correcting Gradle configurations, and fixing cache mount paths. - **ZNS-Import Consul Registration:** Enabled Consul service discovery by updating `application.yaml` and `build.gradle.kts`. - **pgAdmin Provisioning:** Preconfigured the database server in `servers.json` and updated `dc-ops.yaml` for seamless setup. - **Postman Documentation:** Added a detailed Postman test guide covering environment setup, endpoint groups, and recommended test sequences. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
3.2 KiB
3.2 KiB
👷 [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_kassamit FK-Ketten implementiert. Flyway-Migrationen V1–V3 laufen durch.DomainHierarchyMigrationTestist grün. - Tenant-Isolation (A-1): ADR-0021 vollständig umgesetzt.
TenantWebFilter,TenantRegistry(JDBC),JdbcTenantRegistry,TenantMigrationsRunnerund MDC-Logging implementiert. Flyway pro Tenant-Schema. Alle Unit-Tests (JdbcTenantRegistryTest) grün. E2E-Isolationstest (EntriesIsolationIntegrationTest) wieder aktiv und grün. Kritischer Bugfix:springdoc3.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, PUTTurniere: POST, GET, GET{id}, PUT, DELETE, PATCH /statusBewerbe,Abteilungen: vollständige CRUD-EndpunkteReiter,Pferde,Vereine,Funktionäre: vollständige CRUD inkl. Filter-Parameter- Konsistentes Error-Format (
problem+json), Service-Guardrails fürPUBLISHED-Lock
- Regulation-as-Data (via Rulebook B-2):
LizenzKlasseE-Enum mitR4ergänzt,RD4-Fehler korrigiert. Flyway V009:license_height_matrix+horse_min_age_matrixangelegt 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.