15222b5453
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2.4 KiB
2.4 KiB
Session Journal: SQLite Stammdaten-Integration & "Ent-Fakung"
Datum: 22. April 2026 Status: ✅ Erfolgreich abgeschlossen
🎯 Zielsetzung
Umschaltung der Desktop-App von flüchtigen Mock-Daten (In-Memory) auf persistente SQLite-Speicherung für ZNS-Stammdaten (Vereine, Reiter), um die 1427 Vereine und 48.753 Reiter aus dem ZNS-Import nutzbar zu machen.
🛠️ Durchgeführte Änderungen
1. Persistenz-Layer (SQLite)
- Schema-Erweiterung:
MeldestelleDb.squm TabellenLocalVereinundLocalReitersowie entsprechende Upsert- und Such-Queries erweitert. - Repository-Update:
DesktopMasterdataRepositorynutzt nun SQLDelight zur Speicherung. Importierte Daten bleiben über App-Neustarts hinweg erhalten. - Transaktions-Handling: Umstellung auf
runBlockingfür SQLite-Transaktionen im JVM-Desktop-Client, um das synchrone Core-Interface zu bedienen.
2. Business Logic & UI-Anbindung
- Veranstalter-Neu: Der Screen nutzt nun ein hochperformantes Side-by-Side Layout. Die Suche (Verein/Ansprechperson) greift primär auf die lokale SQLite-DB zu, mit automatischem Fallback auf die Cloud-API.
- Reiter-Verwaltung: Vollständige Umstellung des
ReiterViewModelauf Repository-Injektion. Entfernung von hartcodierten Mock-Listen. - DI-Stabilisierung: Koin-Module (
VeranstalterModule,ReiterModule) für explizite Injektion vonAppDatabaseund Repositories korrigiert.
3. UI/UX Optimierungen
- MsTextField: Standardhöhe von 44dp auf 48dp erhöht (
Dimens.TextFieldHeight). Dies behebt den Bug, bei dem Unterlängen von Buchstaben (g, j, p, y) auf dem Desktop abgeschnitten wurden. - Modell-Konsistenz: Harmonisierung der Feldnamen (
remoteReiterResults) über alle Feature-Module hinweg (Profile, ZNS-Import, Veranstalter).
📊 Ergebnisse & Metriken
- Build-Status:
BUILD SUCCESSFULfür:frontend:shells:meldestelle-desktop. - Daten-Kapazität: Lokale Suche gegen >50.000 Datensätze (Reiter + Vereine) verifiziert.
- Stabilität: Alle 9 Wizard-Runtime-Tests sind weiterhin grün.
🚀 Nächste Schritte
- Offline-Editierung: Implementierung der
SyncEventsLogik für Änderungen an Veranstaltern (ADR-0022). - Pferde-Stamm: SQLite-Schema um die Tabelle
LocalPferderweitern. - Delta-Sync: Integration der Zeitstempel-basierten Synchronisation, um nur neue ZNS-Daten zu laden.
🏗️ [Lead Architect] | 👷 [Backend Developer] | 🎨 [Frontend Expert]