Some checks failed
Deploy to Coolify / Code Quality (pull_request) Has been cancelled
Deploy to Coolify / Run Tests (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Development (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Production (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Test (pull_request) Has been cancelled
Pull Request Checks / Validate PR (pull_request) Has been cancelled
Organized docs into logical subdirectories:
**New Structure:**
- docs/
- README.md (index with quick links)
- PROJECT_PLAN.md (root level - main roadmap)
- development/
- getting-started.md (5-min quickstart)
- local-setup.md (detailed Docker Compose guide)
- workflow.md (daily development)
- git-workflow.md (branching strategy)
- architecture/
- overview.md (tech stack, design)
- database.md (schema, RLS, migrations)
- api.md (endpoints, functions)
- deployment/
- production.md (Docker, Coolify)
- ci-cd.md (automated pipelines)
**Cleaned Up:**
- Moved DEV_SETUP.md → docs/development/local-setup.md
- Removed outdated SETUP.md (referenced old Coolify setup)
- Replaced with getting-started.md (current Docker Compose flow)
- Updated README.md links to new structure
All paths tested, no broken links.
126 lines
3.7 KiB
Markdown
126 lines
3.7 KiB
Markdown
# Pantry 🍳
|
|
|
|
Self-hosted kitchen inventory management — family-friendly PWA with barcode scanning.
|
|
|
|
[](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
|
|
|
|
- **[Getting Started](docs/development/getting-started.md)** — First-time setup (5 minutes)
|
|
- **[Local Setup Guide](docs/development/local-setup.md)** — Detailed Docker Compose setup
|
|
- **[Project Plan](docs/PROJECT_PLAN.md)** — Vision, roadmap, MVP phases
|
|
- **[Architecture](docs/architecture/overview.md)** — Tech stack, design decisions
|
|
- **[Database Schema](docs/architecture/database.md)** — Tables, RLS policies, migrations
|
|
- **[Development Workflow](docs/development/workflow.md)** — Git flow, conventions
|
|
- **[Full Documentation Index](docs/README.md)** — Complete docs navigation
|
|
|
|
## 🛠️ 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
|