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

1.8 KiB
Raw Blame History

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.