Staging environment

Wedding Photo Upload PWA

This site is the non-production environment for the single-event photo upload app. It is where we validate mobile behavior, queueing, and the secure upload path before attaching the couple's final domain.

Loading config
App URL
Pending
API base
Pending
Gallery mode
Uploads
Pending

Runtime configuration is intentionally separated from secrets. This file can change between staging and production without editing the application source.

Phase 0 / 1
  1. Guest scans a QR code tied to the wedding or a table token.
  2. The app exchanges that token for a short-lived guest session.
  3. The phone captures or selects one image at a time.
  4. The image is corrected, compressed, and queued locally first.
  5. A trusted server endpoint authorizes direct upload to R2.
  6. Supabase records the metadata only after durable confirmation.
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.
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
Pending decision

The 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.