makiolaj bbccbd09ed
Some checks failed
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
Deploy to Coolify / Code Quality (push) Has been cancelled
Deploy to Coolify / Run Tests (push) Has been cancelled
Merge pull request 'feat: add expiry warnings dashboard (#69)' (#73) from feature/issue-69-expiry-dashboard into develop
2026-02-25 01:27:41 +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 (Local Development)

# 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 for detailed setup guide.

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