docs: Initial project documentation

- README: Project overview, quick start, tech stack
- PROJECT_PLAN: Vision, roadmap, 6-week MVP timeline
- ARCHITECTURE: System design, data model, tech decisions

Establishes foundation for Pantry - self-hosted kitchen
inventory PWA with barcode scanning.
This commit is contained in:
Claw
2026-02-08 18:47:48 +00:00
commit 41537fa84c
3 changed files with 1078 additions and 0 deletions

100
README.md Normal file
View File

@@ -0,0 +1,100 @@
# 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