Files
meldestelle/docs/99_Journal/_archive/2026-04-22_SQLite_Stammdaten_Integration.md
T
2026-05-05 21:23:02 +02:00

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.sq um Tabellen LocalVerein und LocalReiter sowie entsprechende Upsert- und Such-Queries erweitert.
  • Repository-Update: DesktopMasterdataRepository nutzt nun SQLDelight zur Speicherung. Importierte Daten bleiben über App-Neustarts hinweg erhalten.
  • Transaktions-Handling: Umstellung auf runBlocking fü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 ReiterViewModel auf Repository-Injektion. Entfernung von hartcodierten Mock-Listen.
  • DI-Stabilisierung: Koin-Module (VeranstalterModule, ReiterModule) für explizite Injektion von AppDatabase und 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 SUCCESSFUL fü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

  1. Offline-Editierung: Implementierung der SyncEvents Logik für Änderungen an Veranstaltern (ADR-0022).
  2. Pferde-Stamm: SQLite-Schema um die Tabelle LocalPferd erweitern.
  3. Delta-Sync: Integration der Zeitstempel-basierten Synchronisation, um nur neue ZNS-Daten zu laden.

🏗️ [Lead Architect] | 👷 [Backend Developer] | 🎨 [Frontend Expert]