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:
@@ -0,0 +1,21 @@
|
||||
## Epic 4: Frontend Core etablieren (Network, Local‑DB, Design‑System, Domain)
|
||||
|
||||
* Zusammenfassung: Koin/Ktor‑Client, SQLDelight, Design‑System‑Konsolidierung, 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.
|
||||
* Koin‑Module mit `single(named("apiClient"))` Export.
|
||||
* `frontend/core/local-db`:
|
||||
* SQLDelight‑Setup (KMP), Schema‑Ordner, `1.sqm` Migration, Build‑Konfig.
|
||||
* Konvention: Keine Inline‑SQL in Business‑Code; 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 Demo‑Query kompiliert für das Web‑Target.
|
||||
* Design‑System kompiliert; `AppTheme` nutzbar in Shell/Feature‑Sample.
|
||||
* `core/domain` wird von Features konsumiert, ohne Feature→Feature Abhängigkeiten.
|
||||
Reference in New Issue
Block a user