Environment
Loading config- App URL
- Pending
- API base
- Pending
- Gallery mode
- Pending
- Uploads
- Pending
Runtime configuration is intentionally separated from secrets. This file can change between staging and production without editing the application source.
Guest flow
Phase 0 / 1- Guest scans a QR code tied to the wedding or a table token.
- The app exchanges that token for a short-lived guest session.
- The phone captures or selects one image at a time.
- The image is corrected, compressed, and queued locally first.
- A trusted server endpoint authorizes direct upload to R2.
- Supabase records the metadata only after durable confirmation.
Architecture
Agreed direction- Cloudflare Pages serves the static app shell and PWA assets.
- Pages Functions handle trusted staging API endpoints.
- Cloudflare R2 stores processed image assets.
- Supabase stores metadata, moderation state, and gallery reads.
- Shared hosting stays outside the primary upload path.
Immediate staging goals
Current scope- Stable HTTPS staging URL on `wedding.knnonline.co.za`
- Separate staging config from future production config
- Verified Cloudflare Pages function routing
- Placeholder health endpoint for diagnostics
- Base UI that can evolve into the secure upload slice
Next implementation step
Pending decisionThe next code milestone after this scaffold is the secure vertical slice: QR token intake, guest session exchange, local image processing, upload authorization, direct object upload, and metadata confirmation.