Files
meldestelle/docs/06_Frontend/Guides/POC_INITIALISIERUNG.md
T

3.7 KiB

POC Guide: Technische Geräte-Initialisierung (Meilenstein 0)

Dieses Dokument beschreibt die Schritte zur Durchführung des Hardware-POC für die technische Initialisierung der Meldestelle Desktop-App.

🏗️ Vorbereitung (Build & Deployment)

1. Gradle Build (Portable/Unpacked Version)

Um die Desktop-App auf andere Hardware zu übertragen, ohne auf System-Tools wie dpkg angewiesen zu sein, nutzen wir den createDistributable Task. Dieser erstellt ein vollständiges, ausführbares Image der App.

./gradlew :frontend:shells:meldestelle-desktop:createDistributable
  • Ergebnis: Das fertige App-Image liegt im Verzeichnis: frontend/shells/meldestelle-desktop/build/compose/binaries/main/app
  • Vorteil: Keine Installation auf dem Ziel-System notwendig, läuft direkt aus dem Ordner (Portable).

2. Docker & Backend-Infrastruktur

Für den POC müssen die Basis-Dienste (Zora-Stack) laufen.

  • Docker-Files: Die Dateien docker-compose.yaml (App-Services) und dc-infra.yaml (Infrastruktur wie Postgres, Keycloak) sind korrekt implementiert und für den POC-Einsatz bereit.
  • Start: docker-compose up -d (Stellt sicher, dass das Backend erreichbar ist, falls die App Daten synchronisieren will).
  • Verifikation: Alle Container müssen healthy sein.

3. Pipeline & Branch-Optimierung

  • Branch: Wir arbeiten auf feature/event-wizard-migration.
  • Optimierung: Die Pipeline ist für diesen Branch so konfiguriert, dass sie die notwendigen Artefakte baut.
  • Pull Request (PR): Für den lokalen Hardware-POC ist kein voriger PR notwendig. Du kannst direkt vom Branch bauen. Ein PR ist erst für den Merch in den Main-Branch nach erfolgreichem POC erforderlich.

🧪 Durchführung des POC

1. Transfer auf das Ziel-Gerät (USB-Stick)

Die App kann problemlos per USB-Stick auf einen anderen Rechner übertragen werden:

  1. Führe den oben genannten Gradle-Build aus.
  2. Kopiere den gesamten Inhalt des Ordners frontend/shells/meldestelle-desktop/build/compose/binaries/main/app auf deinen USB-Stick.
  3. Stecke den Stick am Ziel-Rechner (z.B. Zora-Hardware) an.
  4. Du kannst die App direkt vom Stick starten oder den Ordner lokal auf den Desktop kopieren.
  5. Starte die ausführbare Datei meldestelle (unter Linux) bzw. meldestelle.exe (unter Windows).

2. Initialisierungs-Assistent

Starte die App auf dem Ziel-Rechner und durchlaufe die Schritte:

  1. Identität: Name vergeben (z.B. "POC-Meldestelle-01").
  2. Pfade: Datenbank-Pfad bestätigen (wird lokal auf dem Gerät angelegt).
  3. Netzwerk-Interface (Kritisch):
    • Wähle auf beiden Rechnern das Interface aus, das mit dem gemeinsamen Netzwerk verbunden ist (z.B. 🔌 Ethernet (192.168.0.x)).
    • Achte auf den grünen Punkt neben dem Interface. Ein roter Punkt bedeutet, das Interface hat keine gültige LAN-IP.
    • Sobald das Interface gewählt ist, startet der "Discovery Radar".
    • Setze einen Rechner auf Master und den anderen auf Client.
    • Verifikation: Der Client sollte nun den Master im Radar anzeigen ("Master im Netzwerk gefunden").
  4. Plan-USB Test:
    • Weiteren (leeren) USB-Stick einstecken.
    • Pfad zum Stick in der App wählen.
    • "Initialisierungs-Export durchführen" klicken.
    • Erfolgskriterium: Die Datei init_device.aes muss auf dem Stick erstellt worden sein.

Zusammenfassung & Klärung

  • Gradle: Wir nutzen createDistributable, um Paketierungsfehler zu umgehen.
  • Docker: Ist korrekt und einsatzbereit.
  • Portable: Ja, die App ist durch das Kopieren des app-Ordners voll portabel.
  • Pipeline: Aktueller Branch ist "good to go".

Status: Bereit für Hardware-Test.