114236c8d9
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
22 lines
1.3 KiB
Markdown
22 lines
1.3 KiB
Markdown
## 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.
|