feat(MP-27): backend consolidation, gateway routing & service dockerfiles

Summary
- Backend Services (Entries, Results, Scheduling) haben Dockerfiles.
- Docker Compose Orchestrierung steht (DB + Gateway + Services).
- Gateway Routing für `entries-service` implementiert (StripPrefix, Path Rewrites).
- Health-Checks und 409-Conflict-Demo Endpunkt verifiziert.

Verification
- `docker compose up --build` -> Success
- `curl http://localhost:8081/api/entries` -> 200 OK (routed through Gateway)

Ref: MP-27
This commit is contained in:
2025-12-08 11:39:43 +01:00
parent b4769d89bc
commit 114236c8d9
12 changed files with 368 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
## Epic 4: Frontend Core etablieren (Network, LocalDB, DesignSystem, Domain)
* Zusammenfassung: Koin/KtorClient, SQLDelight, DesignSystemKonsolidierung, Shared Domain Models
* Beschreibung:
* Ziel: Eine stabile, wiederverwendbare Basis für alle Features/Shells schaffen.
* Deliverables:
* `frontend/core/network`:
* Ktor `HttpClient` mit Plugins: Auth, Retry, JSON, Timeouts, Logging.
* KoinModule mit `single(named("apiClient"))` Export.
* `frontend/core/local-db`:
* SQLDelightSetup (KMP), SchemaOrdner, `1.sqm` Migration, BuildKonfig.
* Konvention: Keine InlineSQL in BusinessCode; Nutzung der generierten Queries.
* `frontend/core/design-system`:
* Konsolidierte `AppTheme`, Komponenten, Tokens.
* `frontend/core/domain`:
* Gemeinsame Modelle/IDs (z. B. `Turnier`, `Pruefung`, `Start`, `ReiterId`, `PferdId`, `Lizenz` …).
* Definition of Done (DoD):
* Kein Vorkommen manueller `Authorization`Header im Code (nur DI`apiClient`).
* SQLDelight generiert Code; eine DemoQuery kompiliert für das WebTarget.
* DesignSystem kompiliert; `AppTheme` nutzbar in Shell/FeatureSample.
* `core/domain` wird von Features konsumiert, ohne Feature→Feature Abhängigkeiten.