chore: Grobplanung abgeschlossen, Planungs-Tickets #2-#11 angelegt

This commit is contained in:
Jens Reinemann 2026-05-13 14:38:58 +02:00
parent fbac5fbcaf
commit cf05c54a42
2 changed files with 27 additions and 25 deletions

View file

@ -13,7 +13,7 @@ $repo = "jreinemann-euris/krisenvorrat"
if ($IssueNumber -gt 0) {
# Variante A: Explizite Issue-Nummer
$json = gh issue view $IssueNumber --repo $repo --json number,title,labels | ConvertFrom-Json
$json = gh issue view $IssueNumber --repo $repo --json number, title, labels | ConvertFrom-Json
$labels = $json.labels | ForEach-Object { $_.name }
$type = if ($labels -contains "block-planning") { "[B]" }
elseif ($labels -contains "migration") { "[M]" }
@ -27,9 +27,13 @@ if ($IssueNumber -gt 0) {
Write-Host "#$($json.number) $type $($json.title)"
}
else {
# Variante B: Nächstes Ticket per Board-Query (serverseitig auf Todo gefiltert)
$raw = gh project item-list 2 --owner jreinemann-euris --format json --query "status:Todo" | ConvertFrom-Json
$todos = $raw.items | ForEach-Object {
# Variante B: Nächstes Ticket per Board-Query (client-seitig auf Todo gefiltert)
$raw = gh project item-list 2 --owner jreinemann-euris --format json | ConvertFrom-Json
if ($null -eq $raw -or $null -eq $raw.items) {
Write-Host "Keine offenen Tickets gefunden."
return
}
$todos = $raw.items | Where-Object { $_.status -eq "Todo" } | ForEach-Object {
$labels = $_.labels
$prio = if ($labels -contains "priority:high") { 0 }
elseif ($labels -contains "priority:low") { 2 }

View file

@ -14,17 +14,17 @@ Eine native Android-App zur Verwaltung eines Krisenvorrats-Inventars. Die App sp
## 2. Technischer Stack
| Komponente | Technologie | Begründung |
|---|---|---|
| Sprache | Kotlin | Moderne Android-Standardsprache |
| UI | Jetpack Compose | Deklarativ, aktuelles Android-UI-Framework |
| Architektur | MVVM + Clean Architecture | Testbar, wartbar, klar getrennt |
| Persistenz | Room (SQLite) | Robuste lokale DB mit Coroutines-Support |
| DI | Hilt | Standard-DI für Android |
| Async | Kotlin Coroutines + Flow | Reaktive Datenströme |
| Datenexport/-import | JSON (kotlinx.serialization) | Strukturiert, KI-lesbar, portabel |
| Build | Gradle (Kotlin DSL) | Android-Standard |
| Verteilung | APK-Sideloading | Kein Store nötig, privater Gebrauch |
| Komponente | Technologie | Begründung |
| ------------------- | ---------------------------- | ------------------------------------------ |
| Sprache | Kotlin | Moderne Android-Standardsprache |
| UI | Jetpack Compose | Deklarativ, aktuelles Android-UI-Framework |
| Architektur | MVVM + Clean Architecture | Testbar, wartbar, klar getrennt |
| Persistenz | Room (SQLite) | Robuste lokale DB mit Coroutines-Support |
| DI | Hilt | Standard-DI für Android |
| Async | Kotlin Coroutines + Flow | Reaktive Datenströme |
| Datenexport/-import | JSON (kotlinx.serialization) | Strukturiert, KI-lesbar, portabel |
| Build | Gradle (Kotlin DSL) | Android-Standard |
| Verteilung | APK-Sideloading | Kein Store nötig, privater Gebrauch |
---
@ -56,13 +56,7 @@ Eine native Android-App zur Verwaltung eines Krisenvorrats-Inventars. Die App sp
"Kleidung",
"Sonstiges"
],
"locations": [
"Keller",
"Küche",
"Garage",
"Schlafzimmer",
"Sonstiges"
],
"locations": ["Keller", "Küche", "Garage", "Schlafzimmer", "Sonstiges"],
"items": [
{
"id": "uuid",
@ -70,8 +64,8 @@ Eine native Android-App zur Verwaltung eines Krisenvorrats-Inventars. Die App sp
"category": "Grundnahrungsmittel",
"quantity": 200,
"unit": "kg",
"unitPrice": 0.80,
"totalPrice": 160.00,
"unitPrice": 0.8,
"totalPrice": 160.0,
"kcalPer100g": 340,
"expiryDate": "2028-01-01",
"location": "Keller",
@ -88,12 +82,14 @@ Eine native Android-App zur Verwaltung eines Krisenvorrats-Inventars. Die App sp
## 5. Funktionsumfang Version 1.0
### 5.1 Inventarverwaltung
- [ ] Artikel anlegen (Name, Kategorie, Menge, Einheit, Preis, Lagerort, Ablaufdatum, Mindestbestand)
- [ ] Artikel bearbeiten
- [ ] Artikel löschen
- [ ] Kategorien und Lagerorte verwalten
### 5.2 Übersichten & Analyse
- [ ] Gesamtübersicht nach Kategorie
- [ ] **Reichweitenrechner:** Automatische Berechnung wie lange Vorrat reicht (basierend auf Personenzahl + kcal/Tag)
- [ ] **Ablaufdaten-Warnung:** Was läuft in 6 / 12 Monaten ab?
@ -101,12 +97,14 @@ Eine native Android-App zur Verwaltung eines Krisenvorrats-Inventars. Die App sp
- [ ] Gesamtwert des Vorrats
### 5.3 Datenhaltung
- [ ] **Room (SQLite) ist die einzige Datenquelle zur Laufzeit**
- [ ] Beim ersten Start: leere Datenbank, User erfasst Daten
- [ ] Alle Änderungen werden direkt in Room persistiert
- [ ] Reactive UI via Coroutines + Flow aus Room
### 5.4 Import / Export (JSON)
- [ ] **JSON-Export:** Gesamtes Inventar als JSON-Datei exportieren (via Share Intent / Datei speichern)
- [ ] **JSON-Import:** Inventar aus JSON-Datei laden (Restore / Datenübernahme), ersetzt oder merged bestehende Daten
- [ ] **Markdown-Export:** Inventar als Markdown-Text (Copy / Share für KI-Eingabe)
@ -162,4 +160,4 @@ Eine native Android-App zur Verwaltung eines Krisenvorrats-Inventars. Die App sp
---
*Aktualisiert: 2026-05-13 Umstellung auf native Android-App*
_Aktualisiert: 2026-05-13 Umstellung auf native Android-App_