Files
Vorrania/docs/ROADMAP.md
Scarriffle 639126468f Schritt 1: Fundament der Lebensmittel-Lagerverwaltung (Pantry)
Backend (FastAPI + PostgreSQL): Chargen mit MHD, FEFO-Auslagern,
Einheiten-Umrechnung (Stueck/g/ml + Packungen), Open-Food-Facts-Lookup
mit lokalem Fallback, JWT-Auth mit Rollen (Admin/Nutzer), erster Admin
beim Setup, Einkaufsliste, Ablaufwarnung, Lagerorte, pytest fuer FEFO.

Web-UI (React/Vite): Login, Dashboard, Ein-/Auslagern, Produkte,
Lagerorte, Benutzerverwaltung, Einkaufsliste - rollenabhaengig.

Deploy: docker-compose + install.sh (Docker-Autoinstall, Secrets),
README und Roadmap fuer Schritt 2 (iOS) und Schritt 3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 09:14:14 +02:00

33 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Pantry Roadmap
Selfhostbare Lebensmittel-Lagerverwaltung. Aufbau in mehreren Schritten.
## Schritt 1 Fundament ✅ (dieser Stand)
- Backend (FastAPI + PostgreSQL): Datenmodell, Auth mit Rollen, FEFO-Auslagern,
Einheiten-Umrechnung, Open-Food-Facts-Lookup mit lokalem Fallback.
- Web-UI (React/Vite): Login, Dashboard, Ein-/Auslagern, Produkte, Lagerorte,
Benutzerverwaltung, Einkaufsliste rollenabhängig.
- Deployment: Docker Compose + `install.sh`, erster Admin beim Setup.
- Tests: pytest für FEFO-Abbuchung und Einheiten-Umrechnung.
## Schritt 2 Native iOS-App (SwiftUI)
- Login (Server-URL + Passwort, Token im Keychain).
- Barcode-Scan (VisionKit / AVFoundation).
- Einlagern-Flow: scannen → Lookup/Vorbefüllung → Menge + Einheit + MHD → speichern.
- Auslagern-Flow: scannen → Menge/Einheit (ganz oder Teilmenge g/l) → FEFO.
- Einkaufsliste- und „bald ablaufend“-Ansicht.
- Optional: unbekannte Produkte direkt in der App anlegen.
## Schritt 3 Fortgeschrittene Features
- **Gruppen-Intelligenz:** Produkt beim Einlagern automatisch einer Gruppe zuordnen
(Ableitung aus OFF-Kategorie), manuell korrigierbar.
- **Mindestbestände auf Gruppen** (z. B. „Nudeln“ gesamt), nicht nur einzelne Produkte.
(DB-Spalte `groups.min_stock` ist bereits vorbereitet.)
- **Unterlagerorte** (Regal xy / Fach xy). (DB-Spalte `locations.parent_id` vorbereitet.)
- **Einheiten-Umwandlung nachträglich** (Packung ↔ g/l) komfortabel in Web + App.
- **Ablauf-Push-Benachrichtigungen** via APNs.
- **Produktbilder** aus OFF anzeigen (Web + App) + lokaler Bild-Cache.
- **Einkaufsliste verfeinern:** Mengenvorschläge, manuelle Ergänzungen, Abhaken/Erledigen.
- **Bewegungsverlauf/Statistik** (wer/was wann ein-/ausgelagert) Tabelle `movements`
wird bereits befüllt, es fehlt nur die Ansicht.