8ab6ab1c2a
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
3.7 KiB
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) unddc-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
healthysein.
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:
- Führe den oben genannten Gradle-Build aus.
- Kopiere den gesamten Inhalt des Ordners
frontend/shells/meldestelle-desktop/build/compose/binaries/main/appauf deinen USB-Stick. - Stecke den Stick am Ziel-Rechner (z.B. Zora-Hardware) an.
- Du kannst die App direkt vom Stick starten oder den Ordner lokal auf den Desktop kopieren.
- 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:
- Identität: Name vergeben (z.B. "POC-Meldestelle-01").
- Pfade: Datenbank-Pfad bestätigen (wird lokal auf dem Gerät angelegt).
- 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").
- Wähle auf beiden Rechnern das Interface aus, das mit dem gemeinsamen Netzwerk verbunden ist (z.B.
- 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.aesmuss 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.