feat(workflow): introduce Event-First workflow with improved UX and test data seeding

- Replaced `VeranstalterAuswahlV2` with `VeranstaltungenUebersichtV2` for a direct entry point to event management.
- Integrated onboarding directly into the event creation flow (`VeranstaltungKonfigV2`).
- Added realistic test data (`StoreV2.seed()`) for instant workflow testing.
- Updated initial navigation flow (`DesktopApp.kt`) to prioritize the event-first approach.
- Enhanced screen and component interactions to streamline the user journey in offline-first mode.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-03-31 13:34:35 +02:00
parent 683ef956fc
commit 1699c24875
7 changed files with 282 additions and 33 deletions
@@ -0,0 +1,57 @@
---
type: Journal
status: ACTIVE
owner: Curator
last_update: 2026-03-31
---
# Session Log: Event-First Workflow & UX-Polish (Initialer Schliff)
## Kontext
Im Rahmen der MVP-Phase wurde der Fokus auf den "Event-First" Workflow gelegt. Ziel ist es, dass die App direkt mit der
Turnierverwaltung (Offline-First) startet, ohne den Nutzer durch ein separates Onboarding oder Login zu zwingen, solange
er lokal arbeitet.
## Durchgeführte Änderungen
### 1. Navigation & App-Start
- **Direkter Einstieg:** Die App startet nun direkt im Screen `AppScreen.Veranstaltungen`.
- **Anpassung DesktopApp.kt:** Das Login-Gate wurde so erweitert, dass alle für den Turnier-Workflow relevanten
Screens (Veranstaltungen, Veranstalter, Turniere) auch ohne Authentifizierung zugänglich sind.
### 2. Veranstaltungen-Übersicht (Gesamtliste)
- **Neuer Screen `VeranstaltungenUebersichtV2`:** Implementierung einer zentralen Übersicht, die alle im lokalen Store
vorhandenen Veranstaltungen über alle Veranstalter hinweg anzeigt.
- **Funktionalität:**
- Listendarstellung mit Titel, Verein, Datum und Status.
- Navigation zum "Cockpit" einer Veranstaltung (`VeranstaltungUebersicht`).
- Button zur Neuanlage einer Veranstaltung (leitet zur Veranstalter-Auswahl weiter).
### 3. Integriertes Onboarding
- **Wizard-Erweiterung:** Das Geräte-Onboarding (Name & Sicherheitsschlüssel) wurde direkt in den
`VeranstaltungKonfigV2`-Wizard integriert. Nutzer müssen die Hardware-Informationen erst angeben, wenn sie die erste
Veranstaltung anlegen wollen.
### 4. Testdaten (Seed)
- **StoreV2.seed():** Es wurden realistische Testdaten für "Neumarkt 2026" und "Linz 2026" inklusive zugehöriger
Turniere angelegt, um den Workflow sofort testbar zu machen.
## Betroffene Dateien
- `frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/DesktopApp.kt`
- `frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/screens/layout/DesktopMainLayout.kt`
- `frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/v2/VeranstaltungScreens.kt` (Neu:
`VeranstaltungenUebersichtV2`)
- `frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/v2/Stores.kt` (Neu: `allEvents()`, `seed()`)
- `frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/main.kt` (Aufruf `seed()`)
## Nächste Schritte
- [ ] Verifikation der Detail-Ansicht für Turniere.
- [ ] Implementierung der mDNS Discovery für die lokale Vernetzung.
- [ ] ADR für das PDF-Rendering entwerfen.