Kategorien & Lagerorte verwalten (ViewModel + UI) #25

Closed
opened 2026-05-13 22:38:51 +00:00 by jreinemann-euris · 1 comment
jreinemann-euris commented 2026-05-13 22:38:51 +00:00 (Migrated from github.com)

Feature: Kategorien & Lagerorte verwalten

Part of: #6

Ziel

Benutzer können Kategorien und Lagerorte hinzufügen und löschen über dedizierte Verwaltungsscreens.

Scope

  • CategoryListViewModel mit StateFlow<List>
  • CategoryListScreen (LazyColumn mit Kategorien, Add-Button, Delete mit Bestätigungsdialog)
  • LocationListViewModel mit StateFlow<List>
  • LocationListScreen (LazyColumn mit Lagerorten, Add-Button, Delete mit Bestätigungsdialog)
  • Hinzufügen via AlertDialog mit Textfeld
  • Löschen mit Bestätigungsdialog (Warnung: zugehörige Artikel werden ebenfalls gelöscht wg. CASCADE)

Technische Hinweise

  • Bestehende Repositories: CategoryRepository, LocationRepository (inkl. Hilt-Bindings)
  • ViewModels nutzen viewModelScope + StateFlow
  • UI mit Material 3 Komponenten (TopAppBar, FloatingActionButton, AlertDialog)
  • @HiltViewModel Annotation für DI

Akzeptanzkriterien

  • Kategorien können hinzugefügt und gelöscht werden
  • Lagerorte können hinzugefügt und gelöscht werden
  • Löschdialog warnt vor Datenverlust (CASCADE)
  • Daten werden korrekt in Room persistiert
  • Tests: Unit-Tests für beide ViewModels
## Feature: Kategorien & Lagerorte verwalten Part of: #6 ### Ziel Benutzer können Kategorien und Lagerorte hinzufügen und löschen über dedizierte Verwaltungsscreens. ### Scope - CategoryListViewModel mit StateFlow<List<CategoryEntity>> - CategoryListScreen (LazyColumn mit Kategorien, Add-Button, Delete mit Bestätigungsdialog) - LocationListViewModel mit StateFlow<List<LocationEntity>> - LocationListScreen (LazyColumn mit Lagerorten, Add-Button, Delete mit Bestätigungsdialog) - Hinzufügen via AlertDialog mit Textfeld - Löschen mit Bestätigungsdialog (Warnung: zugehörige Artikel werden ebenfalls gelöscht wg. CASCADE) ### Technische Hinweise - Bestehende Repositories: CategoryRepository, LocationRepository (inkl. Hilt-Bindings) - ViewModels nutzen viewModelScope + StateFlow - UI mit Material 3 Komponenten (TopAppBar, FloatingActionButton, AlertDialog) - @HiltViewModel Annotation für DI ### Akzeptanzkriterien - [ ] Kategorien können hinzugefügt und gelöscht werden - [ ] Lagerorte können hinzugefügt und gelöscht werden - [ ] Löschdialog warnt vor Datenverlust (CASCADE) - [ ] Daten werden korrekt in Room persistiert - [ ] Tests: Unit-Tests für beide ViewModels
jreinemann-euris commented 2026-05-13 22:56:47 +00:00 (Migrated from github.com)

Abgeschlossen (2026-05-14)

Zyklen: 1
Tests: 22 neue Tests (11 Category + 11 Location), 0 Fehler

Implementierte Artefakte

  • CategoryListViewModel: StateFlow-basiertes ViewModel mit Add/Delete-Dialog-State
  • CategoryListScreen: Material 3 UI mit LazyColumn, FAB, Add-Dialog, Delete-Bestätigungsdialog (CASCADE-Warnung)
  • LocationListViewModel: Gleiches Pattern für Lagerorte
  • LocationListScreen: Gleiches UI-Pattern für Lagerorte
  • Unit-Tests für beide ViewModels (22 Tests, 100% passed)

Abweichungen

keine

## Abgeschlossen (2026-05-14) **Zyklen:** 1 **Tests:** ✅ 22 neue Tests (11 Category + 11 Location), 0 Fehler ### Implementierte Artefakte - ✅ CategoryListViewModel: StateFlow-basiertes ViewModel mit Add/Delete-Dialog-State - ✅ CategoryListScreen: Material 3 UI mit LazyColumn, FAB, Add-Dialog, Delete-Bestätigungsdialog (CASCADE-Warnung) - ✅ LocationListViewModel: Gleiches Pattern für Lagerorte - ✅ LocationListScreen: Gleiches UI-Pattern für Lagerorte - ✅ Unit-Tests für beide ViewModels (22 Tests, 100% passed) ### Abweichungen keine
Sign in to join this conversation.
No description provided.