Files
pantry/README.md
Pantry Lead Agent 12bda4c08f
Some checks failed
Deploy to Coolify / Code Quality (push) Has been cancelled
Deploy to Coolify / Run Tests (push) Has been cancelled
Deploy to Coolify / Deploy to Development (push) Has been cancelled
Deploy to Coolify / Deploy to Production (push) Has been cancelled
Deploy to Coolify / Deploy to Test (push) Has been cancelled
docs: update README with current progress and quick start
- Add ./dev.sh one-command startup
- Update MVP status: 14/34 complete (41.2%)
- Link to DEV_SETUP.md for detailed guide
- Show Week 1-2 complete, Week 3 in progress
2026-02-09 13:36:38 +00:00

125 lines
3.6 KiB
Markdown

# 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 (Local Development)
```bash
# Clone repository
git clone https://gitea.jeanlucmakiola.de/pantry-app/pantry.git
cd pantry
# One-command startup
./dev.sh
```
**What this does:**
1. Starts Supabase (PostgreSQL + API + Auth + Studio)
2. Installs frontend dependencies
3. Launches Nuxt dev server
**Access:**
- App: `http://localhost:3000`
- Supabase Studio: `http://localhost:54323`
**See [DEV_SETUP.md](DEV_SETUP.md) for detailed setup guide.**
## 📚 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 (14/34 Complete - 41.2%)
**Current Phase:** Week 2 ✅ Complete, Week 3 🔄 In Progress
**Week 1 - Foundation (6/6)**
- Database schema + RLS policies
- Nuxt 4 app scaffold
- Supabase integration
- App layout
**Week 2 - Core Inventory (8/8)**
- SQL helper functions
- Seed data (units + tags)
- Inventory CRUD UI
- Add/Edit/Delete components
🔄 **Week 3 - Barcode Scanning (1/5)**
- BarcodeScanner component
- html5-qrcode integration
- Product lookup (pending)
- Scan-to-add flow (pending)
⏸️ **Week 4-6** - Tag UI, PWA, Deployment (20 issues)
See [PROJECT_PLAN.md](docs/PROJECT_PLAN.md) for detailed roadmap.
## 🤝 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