Dashboard ViewModel & UI (Uebersicht, Warnungen, Reichweite) #30

Closed
opened 2026-05-13 23:26:34 +00:00 by jreinemann-euris · 1 comment
jreinemann-euris commented 2026-05-13 23:26:34 +00:00 (Migrated from github.com)

Feature: Dashboard ViewModel & UI

Part of: #7
Depends on: #29 (Dashboard-Berechnungslogik)

Ziel

Ein Dashboard-Screen zeigt alle Analyse-Informationen auf einen Blick: Kategorieuebersicht mit Gesamtwert, Reichweitenberechnung, Ablaufdaten-Warnungen (6/12 Monate) und Mindestbestand-Warnungen.

Scope

  • DashboardViewModel: sammelt Daten aus allen Repositories, berechnet UI-State mit Use Cases aus #29
  • DashboardUiState: Sections fuer Zusammenfassung, Reichweite, Ablaufwarnungen, Mindestbestand
  • DashboardScreen Composable: Material 3 Dashboard-Layout
  • Kategorie-Karten: Artikelanzahl + Gesamtwert pro Kategorie
  • Reichweite-Anzeige: berechnete Tage (z.B. "Vorrat reicht X Tage")
  • Ablaufdaten-Warnung: Farbcodierung (rot: 6 Monate oder weniger, orange: 12 Monate oder weniger)
  • Mindestbestand-Warnung: Artikel unter Minimum rot markiert

Technische Hinweise

  • Bestehender Pattern: ItemListViewModel mit combine() auf Flows, StateFlow + collectAsStateWithLifecycle
  • ItemUiModel hat bereits isExpired / isExpiringSoon Properties
  • Use Cases aus #29 fuer Berechnungen nutzen
  • Material 3 Cards fuer Dashboard-Sektionen

Akzeptanzkriterien

  • DashboardScreen zeigt Kategorieuebersicht mit Artikelanzahl + Wert
  • Gesamtwert wird prominent angezeigt
  • Reichweite wird in Tagen angezeigt
  • Ablaufdaten-Warnungen sind farblich codiert (rot bei 6M oder weniger, orange bei 12M oder weniger)
  • Mindestbestand-Warnungen zeigen betroffene Artikel rot markiert
  • ViewModel Unit-Tests fuer State-Management
## Feature: Dashboard ViewModel & UI Part of: #7 Depends on: #29 (Dashboard-Berechnungslogik) ### Ziel Ein Dashboard-Screen zeigt alle Analyse-Informationen auf einen Blick: Kategorieuebersicht mit Gesamtwert, Reichweitenberechnung, Ablaufdaten-Warnungen (6/12 Monate) und Mindestbestand-Warnungen. ### Scope - DashboardViewModel: sammelt Daten aus allen Repositories, berechnet UI-State mit Use Cases aus #29 - DashboardUiState: Sections fuer Zusammenfassung, Reichweite, Ablaufwarnungen, Mindestbestand - DashboardScreen Composable: Material 3 Dashboard-Layout - Kategorie-Karten: Artikelanzahl + Gesamtwert pro Kategorie - Reichweite-Anzeige: berechnete Tage (z.B. "Vorrat reicht X Tage") - Ablaufdaten-Warnung: Farbcodierung (rot: 6 Monate oder weniger, orange: 12 Monate oder weniger) - Mindestbestand-Warnung: Artikel unter Minimum rot markiert ### Technische Hinweise - Bestehender Pattern: `ItemListViewModel` mit `combine()` auf Flows, `StateFlow` + `collectAsStateWithLifecycle` - `ItemUiModel` hat bereits `isExpired` / `isExpiringSoon` Properties - Use Cases aus #29 fuer Berechnungen nutzen - Material 3 Cards fuer Dashboard-Sektionen ### Akzeptanzkriterien - [ ] DashboardScreen zeigt Kategorieuebersicht mit Artikelanzahl + Wert - [ ] Gesamtwert wird prominent angezeigt - [ ] Reichweite wird in Tagen angezeigt - [ ] Ablaufdaten-Warnungen sind farblich codiert (rot bei 6M oder weniger, orange bei 12M oder weniger) - [ ] Mindestbestand-Warnungen zeigen betroffene Artikel rot markiert - [ ] ViewModel Unit-Tests fuer State-Management
jreinemann-euris commented 2026-05-13 23:46:45 +00:00 (Migrated from github.com)

Abgeschlossen (2026-05-14)

Zyklen: 1
Tests: 9 Tests, 0 Fehler

Implementierte Artefakte

  • DashboardUiState: UI-State mit Sektionen für Zusammenfassung, Reichweite, Ablaufwarnungen, Mindestbestand
  • DashboardViewModel: kombiniert Item/Category-Flows mit 5 Use Cases aus #29
  • DashboardScreen: Material 3 Layout mit farbcodierten Cards (Übersicht, Reichweite, Warnungen, Kategorien)
  • Navigation: Dashboard als startDestination, Artikelliste mit Dashboard-Menüeintrag
  • 9 Unit-Tests: leerer State, Kategorieübersicht, Gesamtwert, Reichweite, Ablaufwarnungen, Mindestbestand, reaktive Updates

Abweichungen

keine

## Abgeschlossen (2026-05-14) **Zyklen:** 1 **Tests:** ✅ 9 Tests, 0 Fehler ### Implementierte Artefakte - ✅ DashboardUiState: UI-State mit Sektionen für Zusammenfassung, Reichweite, Ablaufwarnungen, Mindestbestand - ✅ DashboardViewModel: kombiniert Item/Category-Flows mit 5 Use Cases aus #29 - ✅ DashboardScreen: Material 3 Layout mit farbcodierten Cards (Übersicht, Reichweite, Warnungen, Kategorien) - ✅ Navigation: Dashboard als startDestination, Artikelliste mit Dashboard-Menüeintrag - ✅ 9 Unit-Tests: leerer State, Kategorieübersicht, Gesamtwert, Reichweite, Ablaufwarnungen, Mindestbestand, reaktive Updates ### Abweichungen keine
Sign in to join this conversation.
No description provided.