docs: update README with current progress and quick start
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
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
- 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
This commit is contained in:
64
.env.example
64
.env.example
@@ -1,54 +1,20 @@
|
||||
# Pantry - Environment Variables Template
|
||||
# Copy to .env.development for local development
|
||||
# Copy to .env.production for production deployment
|
||||
# Supabase Local Development Environment
|
||||
# Copy this file to .env and adjust as needed
|
||||
|
||||
# ==============================================
|
||||
# Supabase Configuration
|
||||
# ==============================================
|
||||
# PostgreSQL
|
||||
POSTGRES_PASSWORD=postgres
|
||||
|
||||
# Supabase API URL (from Coolify service)
|
||||
SUPABASE_URL=https://your-supabase-instance.example.com
|
||||
# JWT Secret (generate with: openssl rand -base64 32)
|
||||
# Default is fine for local dev, change for production
|
||||
JWT_SECRET=super-secret-jwt-token-with-at-least-32-characters-long
|
||||
|
||||
# Supabase Anon Key (public, safe to expose to frontend)
|
||||
SUPABASE_ANON_KEY=your-anon-key-here
|
||||
# API Keys
|
||||
# These are Supabase's default demo keys - OK for local development
|
||||
# For production, generate new keys: https://supabase.com/docs/guides/self-hosting#api-keys
|
||||
ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0
|
||||
|
||||
# Supabase Service Role Key (SECRET - server-side only, never expose to frontend)
|
||||
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key-here
|
||||
SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImV4cCI6MTk4MzgxMjk5Nn0.EGIM96RAZx35lJzdJsyH-qQwv8Hdp7fsn3W0YpN81IU
|
||||
|
||||
# JWT Secret (for Supabase Auth)
|
||||
SUPABASE_JWT_SECRET=your-jwt-secret-here
|
||||
|
||||
# Database Password (for direct PostgreSQL access if needed)
|
||||
POSTGRES_PASSWORD=your-postgres-password-here
|
||||
|
||||
# ==============================================
|
||||
# Application Configuration
|
||||
# ==============================================
|
||||
|
||||
# Public app URL (where the Nuxt app is hosted)
|
||||
PUBLIC_APP_URL=http://localhost:3000
|
||||
|
||||
# Node environment
|
||||
NODE_ENV=development
|
||||
|
||||
# ==============================================
|
||||
# External APIs
|
||||
# ==============================================
|
||||
|
||||
# Open Food Facts API (no auth required)
|
||||
OPENFOODFACTS_API_URL=https://world.openfoodfacts.org
|
||||
|
||||
# ==============================================
|
||||
# Optional: Auth Providers (OIDC)
|
||||
# ==============================================
|
||||
|
||||
# Google OAuth (optional - configure in Supabase if needed)
|
||||
AUTH_GOOGLE_ENABLED=false
|
||||
AUTH_GOOGLE_CLIENT_ID=
|
||||
AUTH_GOOGLE_SECRET=
|
||||
|
||||
# Authentik (optional)
|
||||
AUTH_AUTHENTIK_ENABLED=false
|
||||
AUTH_AUTHENTIK_URL=
|
||||
AUTH_AUTHENTIK_CLIENT_ID=
|
||||
AUTH_AUTHENTIK_SECRET=
|
||||
# Nuxt App Configuration (also copy to app/.env)
|
||||
NUXT_PUBLIC_SUPABASE_URL=http://localhost:54321
|
||||
NUXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0
|
||||
|
||||
54
.env.example.bak
Normal file
54
.env.example.bak
Normal file
@@ -0,0 +1,54 @@
|
||||
# Pantry - Environment Variables Template
|
||||
# Copy to .env.development for local development
|
||||
# Copy to .env.production for production deployment
|
||||
|
||||
# ==============================================
|
||||
# Supabase Configuration
|
||||
# ==============================================
|
||||
|
||||
# Supabase API URL (from Coolify service)
|
||||
SUPABASE_URL=https://your-supabase-instance.example.com
|
||||
|
||||
# Supabase Anon Key (public, safe to expose to frontend)
|
||||
SUPABASE_ANON_KEY=your-anon-key-here
|
||||
|
||||
# Supabase Service Role Key (SECRET - server-side only, never expose to frontend)
|
||||
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key-here
|
||||
|
||||
# JWT Secret (for Supabase Auth)
|
||||
SUPABASE_JWT_SECRET=your-jwt-secret-here
|
||||
|
||||
# Database Password (for direct PostgreSQL access if needed)
|
||||
POSTGRES_PASSWORD=your-postgres-password-here
|
||||
|
||||
# ==============================================
|
||||
# Application Configuration
|
||||
# ==============================================
|
||||
|
||||
# Public app URL (where the Nuxt app is hosted)
|
||||
PUBLIC_APP_URL=http://localhost:3000
|
||||
|
||||
# Node environment
|
||||
NODE_ENV=development
|
||||
|
||||
# ==============================================
|
||||
# External APIs
|
||||
# ==============================================
|
||||
|
||||
# Open Food Facts API (no auth required)
|
||||
OPENFOODFACTS_API_URL=https://world.openfoodfacts.org
|
||||
|
||||
# ==============================================
|
||||
# Optional: Auth Providers (OIDC)
|
||||
# ==============================================
|
||||
|
||||
# Google OAuth (optional - configure in Supabase if needed)
|
||||
AUTH_GOOGLE_ENABLED=false
|
||||
AUTH_GOOGLE_CLIENT_ID=
|
||||
AUTH_GOOGLE_SECRET=
|
||||
|
||||
# Authentik (optional)
|
||||
AUTH_AUTHENTIK_ENABLED=false
|
||||
AUTH_AUTHENTIK_URL=
|
||||
AUTH_AUTHENTIK_CLIENT_ID=
|
||||
AUTH_AUTHENTIK_SECRET=
|
||||
52
README.md
52
README.md
@@ -22,18 +22,28 @@ A simple, modern kitchen inventory app that the whole family can actually use. B
|
||||
- 🔒 **Self-hosted** — Your data stays yours
|
||||
- 🌐 **Open Food Facts** — Auto-fill product data from barcodes
|
||||
|
||||
## 🚀 Quick Start
|
||||
## 🚀 Quick Start (Local Development)
|
||||
|
||||
```bash
|
||||
# Clone
|
||||
# Clone repository
|
||||
git clone https://gitea.jeanlucmakiola.de/pantry-app/pantry.git
|
||||
cd pantry
|
||||
|
||||
# Start services (Docker Compose)
|
||||
docker-compose up -d
|
||||
|
||||
# Access at http://localhost:3000
|
||||
# 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
|
||||
@@ -73,18 +83,32 @@ pantry/
|
||||
3. **Extendable** — Clean architecture for future features
|
||||
4. **Self-hosted first** — No SaaS plans, no lock-in
|
||||
|
||||
## 📋 MVP Status
|
||||
## 📋 MVP Status (14/34 Complete - 41.2%)
|
||||
|
||||
**Target:** v0.1 (6-week sprint)
|
||||
**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.
|
||||
|
||||
- [ ] 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.
|
||||
|
||||
Reference in New Issue
Block a user