fixing Trace Bullet
This commit is contained in:
@@ -159,14 +159,25 @@ docker-compose logs [service-name]
|
||||
|
||||
### Client-Anwendungen starten
|
||||
|
||||
```bash
|
||||
# Desktop-Anwendung starten
|
||||
./gradlew :client:desktop-app:run
|
||||
Die Client-Anwendungen sind als ein gemeinsames Kotlin Multiplatform (KMP) Modul `:client` organisiert und liefern:
|
||||
- Desktop (JVM) über Compose Desktop
|
||||
- Web (WASM im Browser) über Compose HTML/WASM
|
||||
|
||||
# Web-Anwendung bauen
|
||||
./gradlew :client:web-app:build
|
||||
```bash
|
||||
# Desktop (JVM) starten
|
||||
./gradlew :client:run
|
||||
|
||||
# Web (WASM) – Development-Server mit Live-Reload
|
||||
./gradlew :client:wasmJsBrowserDevelopmentRun
|
||||
|
||||
# Web (WASM) – Production-Build (mit optionaler Bundle-Analyse)
|
||||
ANALYZE_BUNDLE=true ./gradlew :client:wasmJsBrowserProductionWebpack
|
||||
```
|
||||
|
||||
Ausgabeorte (Build-Artefakte):
|
||||
- Desktop-Distributionen: client/build/compose/binaries
|
||||
- WASM Production Build: client/build/dist/wasmJs/productionExecutable
|
||||
|
||||
## Entwicklung
|
||||
|
||||
### Aktuelle Migrationshinweise
|
||||
@@ -183,6 +194,34 @@ Das Projekt wurde kürzlich von einer monolithischen Struktur zu einer modularen
|
||||
|
||||
Es gibt noch einige offene Probleme, insbesondere bei den Client-Modulen, die Kotlin Multiplatform und Compose Multiplatform verwenden.
|
||||
|
||||
#### Status der Client-Module (nach Migration)
|
||||
- Build-Status: :client baut erfolgreich für JVM, JS und WASM (Chrome/Karma-Tests sind bewusst deaktiviert, siehe unten)
|
||||
- Desktop: Compose Desktop App startet über :client:run; API-Basisadresse via Umgebungsvariable API_BASE_URL (Default: http://localhost:8081)
|
||||
- Web/WASM: Development-Server (:client:wasmJsBrowserDevelopmentRun) und Production-Build (:client:wasmJsBrowserProductionWebpack) funktionieren; API-Aufruf erfolgt same-origin über /api/ping (hinter dem Gateway)
|
||||
- HTTP-Client: Minimaler Ktor-Client (ohne überflüssige Plugins) zur Reduzierung der Bundle-Größe
|
||||
- UI: Platzhalter-/Demo-Features (Ping, Platform-Info, Conditional Panels) vorhanden; Domänenseiten für masterdata/members/horses/events noch ausständig
|
||||
|
||||
Bekannte Einschränkungen & offene Punkte:
|
||||
- End-to-End-Navigation zu allen Domänen (masterdata, members, horses, events) fehlt noch
|
||||
- Authentifizierung/Session-Handling im Client noch nicht integriert (Gateway/Keycloak folgt)
|
||||
- Browser-basierte Unit-Tests (Karma/ChromeHeadless) sind abgeschaltet, um lokale Sandbox-Probleme zu vermeiden; JS-Tests laufen unter Node/Mocha
|
||||
|
||||
#### WASM-Bundle-Analyse & Optimierung
|
||||
- Aktivieren über Umgebungsvariable ANALYZE_BUNDLE=true beim Production-WebBuild:
|
||||
|
||||
ANALYZE_BUNDLE=true ./gradlew :client:wasmJsBrowserProductionWebpack
|
||||
|
||||
- Die Datei client/webpack.config.d/bundle-analyzer.js protokolliert die Asset-Größen und gibt Optimierungshinweise aus
|
||||
- client/webpack.config.d/wasm-optimization.js aktiviert Tree-Shaking, Chunk-Splitting und Produktionsoptimierungen
|
||||
- Weitere Tipps: Reduktion schwerer UI-Komponenten, Lazy Loading, Entfernen ungenutzter Abhängigkeiten
|
||||
|
||||
#### Integrationstests und E2E-Hinweise
|
||||
- Vorhandene Modul-Integrationstests können per ./gradlew test ausgeführt werden
|
||||
- Für manuelles E2E:
|
||||
1) docker compose up -d (Gateway + Services)
|
||||
2) Desktop-Client starten oder WASM-Dev-Server starten
|
||||
3) Ping im Client ausführen; Erwartung: Status OK vom Gateway-Endpunkt /api/ping
|
||||
|
||||
### Entwicklungsrichtlinien
|
||||
|
||||
- Verwenden Sie die in der Projektstruktur definierten Module
|
||||
|
||||
Reference in New Issue
Block a user