149 lines
8.7 KiB
Markdown
149 lines
8.7 KiB
Markdown
# đď¸ [UI/UX Designer] â Schritt-fĂźr-Schritt Roadmap
|
||
|
||
> **Stand:** 2. April 2026
|
||
> **Rolle:** High-Density Design, Wireframes, Usability, Compose Desktop UX
|
||
|
||
---
|
||
|
||
## đ´ Sprint A â Sofort (diese Woche)
|
||
|
||
- [x] **A-1** | Design-Inventur: Bestehende V2-Screens analysieren
|
||
- [x] Alle vorhandenen V2-Screens katalogisieren (Screenshots in `docs/ScreenShots/` bzw. `docs/06_Frontend/Screenshots/`)
|
||
- [x] Inkonsistenzen in Spacing, Typografie und Farbgebung identifizieren
|
||
- [x] Offene UX-Probleme und fehlende Empty States dokumentieren
|
||
- [x] Ergebnis als kurze Issue-Liste fĂźr Sprint B vorbereiten
|
||
|
||
### Ergebnis A-1 â Design-Inventur V2 (Stand V3 abgeglichen)
|
||
|
||
Quellen:
|
||
- V3 Navigation: `docs/06_Frontend/Navigation_V3_Screen-Baum_und_Back-Stack.md`
|
||
- Archiv/Referenz V2: `docs/_archive/06_Frontend/Navigation_V2_Screen-Baum_und_Back-Stack.md`
|
||
- Screenshots: `docs/06_Frontend/Screenshots/` und `docs/ScreenShots/archive/`
|
||
|
||
1) Katalog der relevanten V2-Screens (gemappt auf V3-Begriffe)
|
||
- Veranstaltungen (Liste) â V3: âVeranstaltungen (TabâRoot)â
|
||
- Veranstaltung.Detail â V3 gleichlautend
|
||
- Turnier.Detail â V3 gleichlautend
|
||
- Belege: `docs/06_Frontend/Screenshots/Turnier-Stammdaten_01_entwurf-01.png`, `.../Turnier-Stammdaten_02_entwurf01.png`
|
||
- Bewerb.Detail â V3 gleichlautend
|
||
- Abteilung.Detail â V3 gleichlautend
|
||
- Startliste innerhalb Abteilung â V3: âStartliste(divisionId)â
|
||
- Kassa fĂźr Turnier â V3: âKassa.Turnier(tournamentId)â
|
||
- Kassa fĂźr Veranstaltung â V3: âKassa.Veranstaltung(eventId)â
|
||
- StatusâAnzeige/Listenkarte â Beleg: `docs/06_Frontend/Screenshots/Veranstaltungen-Status-Anzeige_entwurf-01.png`
|
||
- TabâRoot Platzhalter: Reiter, Pferde, Funktionaere, Meisterschaften, Cups (V3 vorhanden, in V2 teils rudimentär)
|
||
|
||
2) Gefundene Inkonsistenzen (V2 UI vs. V3 Vorgabe/Figma Vision_03)
|
||
- Spacing
|
||
- Uneinheitliche AuĂenabstände (8/12/16/20 px gemischt). Vorschlag: 8âpt Grid; AuĂen 16, Innen 8/12 je Dichte.
|
||
- Vertikaler Rhythmus bei Karten uneinheitlich (Header â Body â Footer). Vereinheitlichen: 12/8/12.
|
||
- Typografie
|
||
- Unterschiedliche GrĂśĂen/Weights fĂźr vergleichbare Ăberschriftenebenen (z. B. ScreenâTitle vs. SectionâTitle).
|
||
- Fehlende definierte Caption/OverlineâStile fĂźr Badges/Status.
|
||
- Farben
|
||
- Primärfarbe variiert zwischen BlauâTĂśnen; Sekundär/Info vs. Accent unscharf. MaterialTheme Tokens konsolidieren (V3 CâPalette).
|
||
- Statusfarben (OK/Warn/Error) ohne konsistente Kontraststufen und ohne DarkâModeâFallbacks.
|
||
- Komponenten
|
||
- Heterogene Kartenrahmen (Elevation vs. Border). Einheitliche âMeldestelleCardâ definieren.
|
||
- Uneinheitliche âSectionHeaderâ (Icon/Spacing/Divider). StandardâComposable nĂśtig.
|
||
|
||
3) Fehlende/ungenĂźgende Empty States (Beispiele, nicht abschlieĂend)
|
||
- Veranstaltungen (keine Veranstaltungen) â CallâtoâAction âNeue Veranstaltung anlegenâ + kurzer Hilfetext.
|
||
- Turnierliste einer Veranstaltung (0 Turniere) â CTA âTurnier anlegenâ + Link zu Import.
|
||
- Bewerbe eines Turniers (0 Bewerbe) â CTA âBewerb anlegenâ + Hinweis auf Abteilungslogik.
|
||
- Abteilungen eines Bewerbs (0 Abteilungen) â CTA âAbteilungen generieren/teilenâ.
|
||
- Kassa (keine offenen Posten) â freundlicher Hinweis + Link zur Teilnehmerliste.
|
||
|
||
4) Optimierungen in Bezug auf V3 Navigation/Regeln
|
||
- Breadcrumb in TopBar konsistent anzeigen (Eltern klickbar; keine LogoutâAktion im MVP).
|
||
- KassaâScreens als Push Ăźber Detail beibehalten (Back kehrt korrekt zurĂźck; kein eigener Tab).
|
||
- Dialoge/Sheets nicht im BackâStack verewigen; SchlieĂen fĂźhrt zum UrsprungsâScreen.
|
||
|
||
5) Abgeleitete IssueâListe fĂźr Sprint B (konkret, klein schneidbar)
|
||
- B-0: DesignâTokens konsolidieren
|
||
- Farben: Primär/Secondary/Info/Warning/Error gemäà V3 Palette in `Theme.kt` vereinheitlichen.
|
||
- Typo: Headline/Title/Body/Label/Caption Skala festlegen und dokumentieren.
|
||
- Spacing: 8âpt Grid als Standard definieren (AuĂen 16, Innen 8/12).
|
||
- B-1a: âMeldestelleCardâ StandardâComposable erstellen (Padding, Border/Elevation, TitleâSlot, ActionsâSlot).
|
||
- B-1b: âSectionHeaderâ StandardâComposable (Icon optional, Title, Subline, DividerâOption, StandardâSpacings).
|
||
- B-4a: EmptyâState Vorlage erstellen (Icon/Illustration + Title + Body + PrimaryâCTA + SecondaryâLink) und fĂźr 5 Listen anwenden.
|
||
- B-2a: Wireframe âBewerb anlegenâ inkl. AbteilungsâVorschlag (CSNâCâNEU PflichtâTeilung klar visualisieren).
|
||
- B-3a: Wireframe âKassa Turnier/Veranstaltungâ inkl. Zahlungsaufteilung und Rechnungsvorschau (Tabs oder SideâbyâSide) verfeinern.
|
||
- B-1c: Entscheidungsrichtlinie Dialog vs. FullscreenâEdit als kurze Guideline in `docs/06_Frontend/` publizieren.
|
||
|
||
Hinweise zur Ablage
|
||
- Wireframes und UIâGuidelines bitte unter `docs/06_Frontend/` versionieren; Screenshots ergänzen unter `docs/06_Frontend/Screenshots/`.
|
||
- V2âVerweise in Docs auf V3 aktualisieren; V2 bleibt nur im Archiv referenziert.
|
||
|
||
---
|
||
|
||
## đ Sprint B â Kurzfristig (nächste Woche)
|
||
|
||
- [ ] **B-1** | Wireframes: Editier-Formulare (AlertDialog vs. dedizierter Screen)
|
||
- [x] Entscheidungsgrundlage erarbeiten: Wann AlertDialog, wann Fullscreen-Edit, wann Sliding-Panel?
|
||
- [x] Kriterien definieren: Anzahl der Felder, Komplexität, Kontext-Erhalt
|
||
- [x] Wireframes fĂźr beide Varianten erstellen (am Beispiel Reiter-Edit und Pferd-Edit)
|
||
- [ ] Entscheidung final treffen und als Design-Richtlinie dokumentieren (Review durch đ¨ Frontend)
|
||
- [x] Ergebnis in `docs/06_Frontend/` ablegen â `docs/06_Frontend/Guidelines/Editier-Formulare_Dialog-vs-Fullscreen_v1.md`
|
||
|
||
- [ ] **B-2** | Wireframes: Bewerb anlegen mit Abteilungs-Logik
|
||
- [x] Dialog-Flow: Bewerb-Grunddaten â Abteilungs-Vorschlag â Bestätigung
|
||
- [x] CSN-C-NEU Pflicht-Teilung: Visuelle Darstellung der automatischen Vorschläge
|
||
- [x] Abteilungs-Typ-Auswahl: `SEPARATE_SIEGEREHRUNG` vs. `ORGANISATORISCH` verständlich gestalten
|
||
- [x] Ergebnis in `docs/06_Frontend/` ablegen â `docs/06_Frontend/Wireframes/Bewerb_anlegen_Abteilungs-Logik_v1.md`
|
||
|
||
- [ ] **B-3** | Wireframes: Veranstaltungs-Kassa
|
||
- [x] Gesamt-Saldo-Ansicht: Teilnehmer mit offenen Beträgen aus mehreren Turnieren
|
||
- [x] Zahlvorgang-Dialog: Eine Zahlung, Aufteilung auf Turniere sichtbar
|
||
- [x] Rechnungsvorschau: Zwei separate Rechnungen je Turnier nebeneinander oder als Tab
|
||
- [x] Ergebnis in `docs/06_Frontend/` ablegen â `docs/06_Frontend/Wireframes/Kassa_Veranstaltung_v1.md`
|
||
|
||
- [ ] **B-4** | Empty States fĂźr alle Listenansichten
|
||
- [ ] Liste aller Screens mit mÜglichen leeren Zuständen erstellen
|
||
- [ ] Illustrations-Konzept oder Icon + Text fĂźr Empty States definieren
|
||
- [ ] Konsistente Vorlage fĂźr alle Empty States umsetzen
|
||
|
||
---
|
||
|
||
## đĄ Sprint C â Mittelfristig (in 2 Wochen)
|
||
|
||
- [ ] **C-1** | Wireframes aus Sprint B implementieren
|
||
- [ ] Editier-Dialog / Fullscreen-Edit gemäà Entscheidung aus B-1 in Compose umsetzen
|
||
- [ ] Bewerb-Anlegen-Dialog mit Abteilungs-Logik gemäà B-2 umsetzen
|
||
- [ ] Kassa-Screen gemäà B-3 umsetzen
|
||
|
||
- [ ] **C-2** | Design-System konsolidieren
|
||
- [ ] Farb-Palette in `MaterialTheme` / `Theme.kt` vereinheitlichen
|
||
- [ ] Typografie-Skala definieren (Ăberschriften, Body, Labels, Captions)
|
||
- [ ] Wiederverwendbare Komponenten identifizieren und als Composables extrahieren
|
||
(z.B. `MeldestelleCard`, `SectionHeader`, `StatusBadge`)
|
||
|
||
- [ ] **C-3** | Abteilungs-Ansicht: Startliste und Ergebnisliste
|
||
- [ ] Wireframe: Startliste einer Abteilung (Startnummer, Reiter, Pferd, Verein)
|
||
- [ ] Wireframe: Ergebnisliste einer Abteilung (Platz, Reiter, Pferd, Ergebnis)
|
||
- [ ] Wireframe: Gesamtrangliste Bewerb (organisatorische Abteilungen zusammengefĂźhrt)
|
||
- [ ] Wireframe: Separate Siegerehrungsliste (CSN-C-NEU, getrennt nach Lizenzklasse)
|
||
|
||
---
|
||
|
||
## â¸ď¸ ZurĂźckgestellt
|
||
|
||
> â¸ď¸ **Web-App Präsentation (Veranstaltungs-Seite, Turnier-Seite)** â Separate Besprechung zu einem späteren Zeitpunkt
|
||
> â¸ď¸ **Nenn-Formular (Web)** â Separate Besprechung zu einem späteren Zeitpunkt
|
||
> â¸ď¸ **Live-Ergebnis-Seite (Web)** â Separate Besprechung zu einem späteren Zeitpunkt
|
||
|
||
---
|
||
|
||
## đ Abhängigkeiten
|
||
|
||
| Warte auf | Von wem |
|
||
|---------------------------------------------|---------------|
|
||
| Domänen-Modell final (Abteilung, Kassa) | đď¸ Architect |
|
||
| ViewModel-Struktur (welche States gibt es?) | đ¨ Frontend |
|
||
|
||
| Meine Aufgabe | ErmĂśglicht wem |
|
||
|------------------------------------|-----------------------------------------------|
|
||
| Wireframes Editier-Formulare (B-1) | đ¨ Frontend: Implementierung der Edit-Dialoge |
|
||
| Wireframes Kassa (B-3) | đ¨ Frontend: Kassa-Screen-Implementierung |
|
||
| Design-System (C-2) | Alle: konsistentes UI ohne Nacharbeit |
|