Pantry Lead Agent 1f21032194
Some checks failed
Pull Request Checks / Validate PR (pull_request) Has been cancelled
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
feat: add local development setup with Docker Compose
Complete local dev environment for testing:

**Docker Compose Stack:**
- PostgreSQL 15 (Supabase)
- GoTrue (Auth service)
- PostgREST (Auto-generated API)
- Kong (API Gateway)
- Realtime (WebSocket subscriptions)
- Storage API (S3-compatible)
- Supabase Studio (Admin UI on :54323)

**Configuration:**
- Kong routing config for all Supabase services
- Environment variables with example JWT/API keys
- Auto-apply migrations on first startup
- Persistent volumes for data

**Documentation:**
- DEV_SETUP.md with step-by-step guide
- Troubleshooting section
- Common tasks (reset DB, view logs, etc.)
- Pre-seeded data reference

**Bonus:**
- BarcodeScanner.vue component (Week 3 preview)
- html5-qrcode library installed

Ready to run: `docker-compose up -d && cd app && bun run dev`

Access:
- App: http://localhost:3000
- Supabase API: http://localhost:54321
- Supabase Studio: http://localhost:54323
- PostgreSQL: localhost:5432
2026-02-09 13:35:26 +00:00
2026-02-08 18:47:48 +00:00

Pantry 🍳

Self-hosted kitchen inventory management — family-friendly PWA with barcode scanning.

License: 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

# 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

🛠️ 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 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
Description
Self-hosted kitchen inventory management - PWA with barcode scanning
Readme 882 KiB
Languages
Markdown 100%