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>
1.8 KiB
1.8 KiB
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_stockist bereits vorbereitet.) - Unterlagerorte (Regal xy / Fach xy). (DB-Spalte
locations.parent_idvorbereitet.) - 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
movementswird bereits befüllt, es fehlt nur die Ansicht.