meldestelle/docs/03_Journal/2026-04-15_Desktop-UX-Onboarding.md
Stefan Mogeritsch a6fcb81594
Some checks failed
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 3m10s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m37s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 5m59s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
feat(desktop-onboarding): neue Onboarding-UI implementiert, Backup- und Rollenmanagement hinzugefügt
- Einbindung eines komplett überarbeiteten Onboarding-Screens mit validierten Eingaben für Gerätename, Sicherheitsschlüssel und Backup-Pfad.
- `SettingsManager` eingeführt zur Speicherung der Onboarding-Daten in `settings.json`.
- Navigation verbessert: Onboarding-Workflow startet, wenn Konfiguration fehlt; neues "Setup"-Icon in der Navigationsleiste hinzugefügt.
- Backend: Geräte-API und `DeviceSecurityFilter` für Authentifizierung per Sicherheitsschlüssel implementiert.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-04-15 15:49:01 +02:00

2.6 KiB

🧹 Session Journal - 15. April 2026 (Desktop UX & Onboarding)

🏗️ Status-Check (Lead Architect)

  • Workflow-Fokus: Abkehr vom verfrühten Deployment hin zur ehrlichen "Workflow-First" Entwicklung der Desktop-App.
  • Identität & Sicherheit: Die App verfügt nun über ein robustes Onboarding-System für die lokale Identität und Sicherheit.
  • UX-Optimierung: Die Navigation wurde um Hover-Tooltips erweitert, um die Bedienbarkeit ohne Textlabels in der NavRail zu gewährleisten.

👷 Durchgeführte Arbeiten (Frontend & UX)

  1. Onboarding & Setup ("Geburtsurkunde"):
  • Komplette Neugestaltung des OnboardingScreen (v2).
  • Erfassung von Gerätename, Sicherheitsschlüssel (Shared Secret) und Datenbank-Sicherungspfad.
  • Integration von interaktiven Auswahl-Dialogen: JFileChooser für Pfade und PrintServiceLookup für installierte Drucker.
  • Einführung des SettingsManager zur persistenten Speicherung der Einstellungen in settings.json.
  • Implementierung des OnboardingValidator zur Sicherstellung valider Pflichtangaben (Name, Key, Backup-Pfad).
  1. Navigation & Layout:
  • Erweiterung der DesktopNavRail um ein dediziertes "Setup"-Icon (AppRegistration) am unteren Ende.
  • Auslagerung des Ping-Service ("Sync") als eigenständiges Icon (WifiTethering).
  • Implementierung von Hover-Tooltips für alle Navigations-Items (NavRailItem) unter Verwendung von Material3 TooltipBox.
  • Tooltips sind rechtsbündig (TooltipAnchorPosition.Right) positioniert und zeigen den Namen des Moduls ("Admin", " Vereine", "Mails", "Sync", "Setup").
  1. Code-Qualität & Refactoring:
  • Bereinigung veralteter Onboarding-Screens und Konsolidierung auf das v2-Datenmodell.
  • Integration von @Preview-Blöcken direkt in den Screen-Komponenten zur IDE-gestützten Entwicklung.
  • Erfolgreiche Kompilierung des meldestelle-desktop Moduls nach Behebung von Typ-Konflikten.

🧐 QA-Status & Bekannte Themen

  • Onboarding-Workflow: App erzwingt Setup bei fehlender Konfiguration.
  • Drucker-Anbindung: Systemdrucker werden korrekt gelistet.
  • Tooltip-UX: Hover-Effekt in der Navigationsleiste ist aktiv und informativ.
  • E2E-Integration: Die Anbindung des NennungsEingangScreen an den echten mail-service (Server-Daten abholen) ist der nächste logische Schritt.

🧹 Curator's Note

  • Die Strategie hat sich von "Live-Gang" zurück auf "Ehrliches Desktop-Fundament" verschoben.
  • Das "Biest" hat jetzt einen Namen und einen Platz für seine Backups. 💾

Abschluss: Onboarding und Basis-Navigation sind "Enterprise-Ready". 🚀