Overall Flow Summary

  1. Frontend → Connect to Vercel, build & deploy, and link to the domain.
  2. Backend → Run locally via Docker, expose securely to the internet using Cloudflare Tunnel over HTTPS.
  3. DNS → In Cloudflare, map the API subdomain (api.intotheheaven.app) to the Cloudflare Tunnel.
  4. Request Flow → Frontend calls API → Cloudflare Tunnel → Local Backend → MySQL.
sequenceDiagram
  participant User as User Browser
  participant Vercel as Vercel (FE)
  participant CF as Cloudflare DNS/Tunnel
  participant BE as Local Spring (8080)
  participant DB as MySQL

  User->>Vercel: Load <https://intotheheaven.app>
  User->>CF: Fetch <https://api.intotheheaven.app>
  CF->>BE: Proxy → <http://localhost:8080>
  BE->>DB: Query/Update
  DB-->>BE: Rows/Result
  BE-->>CF: JSON response
  CF-->>User: JSON response