# Pantry 🍳 Self-hosted kitchen inventory management — family-friendly PWA with barcode scanning. [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ## 🎯 Vision A simple, modern kitchen inventory app that the whole family can actually use. Born from frustration with existing tools: - **Grocy:** Powerful but overwhelming - **KitchenOwl:** Nice UI but lacks features **Pantry** bridges the gap — simple enough for daily use, powerful enough to be useful. ## ✨ Key Features (Planned) - 📱 **PWA** — Install on phone, works offline - 📸 **Barcode scanning** — Scan → Add (3 taps) - 🏷️ **Tag-based organization** — Flexible categories (fridge, dairy, etc.) - 📊 **Unit conversions** — kg ↔ g, L ↔ mL - 👥 **Multi-user** — Shared inventory (no household complexity) - 🔒 **Self-hosted** — Your data stays yours - 🌐 **Open Food Facts** — Auto-fill product data from barcodes ## 🚀 Quick Start ```bash # Clone git clone https://gitea.jeanlucmakiola.de/pantry-app/pantry.git # Start services (Docker Compose) docker-compose up -d # Access at http://localhost:3000 ``` ## 📚 Documentation - [**Project Plan**](docs/PROJECT_PLAN.md) — Vision, roadmap, phases - [**Architecture**](docs/ARCHITECTURE.md) — Tech stack, data model, design decisions - [**Database Schema**](docs/DATABASE.md) — Tables, relationships, RLS policies - [**API Reference**](docs/API.md) — Endpoints, Supabase functions - [**Development Guide**](docs/DEVELOPMENT.md) — Setup, workflow, conventions - [**Deployment**](docs/DEPLOYMENT.md) — Docker, Coolify, production setup ## 🛠️ Tech Stack | Layer | Technology | |-------|------------| | Frontend | Nuxt 4 (Vue 3) | | Styling | Tailwind CSS + Nuxt UI | | Backend | Supabase (Postgres, Auth, Realtime) | | Barcode | html5-qrcode | | Runtime | Bun | | Deployment | Docker Compose | | External API | Open Food Facts | ## 🗂️ Monorepo Structure ``` pantry/ ├── app/ # Nuxt 4 PWA ├── supabase/ # Database, migrations, functions ├── docker/ # Docker Compose, configs ├── docs/ # Documentation └── scripts/ # Utilities ``` ## 🎯 Principles 1. **Family-friendly** — If your parents can't use it, it's too complex 2. **Start simple** — Ship small, iterate fast 3. **Extendable** — Clean architecture for future features 4. **Self-hosted first** — No SaaS plans, no lock-in ## 📋 MVP Status **Target:** v0.1 (6-week sprint) See [PROJECT_PLAN.md](docs/PROJECT_PLAN.md) for detailed roadmap. - [ ] Foundation (Nuxt + Supabase + Auth) - [ ] Core inventory (CRUD, tags, units) - [ ] Barcode scanning (PWA camera + Open Food Facts) - [ ] Mobile polish (PWA, offline) - [ ] Docker deployment ## 🤝 Contributing This is an early-stage project. Contributions welcome once v0.1 ships. ## 📄 License MIT © 2026 Jean-Luc Makiola ## 🙏 Acknowledgments - Open Food Facts for product data - Supabase for the backend platform - Nuxt/Vue ecosystem