# WeddingCakeTopper.nl MVP Next.js MVP met: - Bestelpagina - Upload 3–6 foto's - Supabase database + storage - Adyen Sessions route - OpenAI AI-preview route - Simpele adminpagina ## Installatie lokaal ```bash npm install cp .env.example .env.local npm run dev ``` ## Supabase 1. Maak een project aan. 2. Draai `supabase/schema.sql` in SQL editor. 3. Maak bucket `order-uploads` aan. 4. Voor MVP: public bucket. Voor productie: private bucket + signed URLs. ## Adyen Vul in `.env.local`: - ADYEN_API_KEY - ADYEN_MERCHANT_ACCOUNT - ADYEN_CLIENT_KEY - ADYEN_ENVIRONMENT=test Webhook URL: `https://weddingcaketopper.nl/api/payments/webhook` ## OpenAI Vul `OPENAI_API_KEY` in. ## Deploy TransIP VPS ```bash sudo apt update sudo apt install -y nodejs npm nginx certbot python3-certbot-nginx npm install npm run build npm install -g pm2 pm2 start npm --name weddingcaketopper -- start pm2 save ``` Nginx reverse proxy naar `http://127.0.0.1:3000`. ## Belangrijk Deze MVP is een startpunt. Voor live productie nog toevoegen: - Echte admin login - Adyen webhook HMAC-validatie - Private Supabase uploads - Email notificaties - Rate limiting - AVG/privacytekst