# 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.