3dct-client-mirror/snapshot-2026-08-15/home-weddingcaketopper/README.md
Mannu 596cfcca34 snapshot(2026-08-15): client production system, pre-engagement baseline
Read-only mirror of the client's existing system as it stood before our
work began. Taken from matthijsexpand@149.210.159.152 (TransIP VPS,
Lelystad NL) with the client's written permission.

Contents:
- home-weddingcaketopper/  Next.js app, proxy.py, supabase schema
- var-www/                 static webroots for all three domains
- etc-nginx/               vhost configs (previously unversioned, server-only)

Excluded: node_modules (704M, regenerable), .next (17M, regenerable),
and env file contents (present on local disk, gitignored — see README).

Not our IP. Not covered by the proposal's assignment clause.
2026-08-15 08:57:40 +05:30

1.1 KiB
Raw Permalink Blame History

WeddingCakeTopper.nl MVP

Next.js MVP met:

  • Bestelpagina
  • Upload 36 foto's
  • Supabase database + storage
  • Adyen Sessions route
  • OpenAI AI-preview route
  • Simpele adminpagina

Installatie lokaal

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

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