# nginx example for join.eventbuzz.live (participant SPA from `eventbuzz/`) # # Deploy: cd eventbuzz && npm run build → serve `dist` here. # API CORS must allow https://join.eventbuzz.live; backend EVENTBUZZ_PUBLIC_URL # must be https://join.eventbuzz.live (join codes, magic links, quiz-present). # # Dashboard stays on console.eventbuzz.live; microsites on web.eventbuzz.live; # marketing apex eventbuzz.live can redirect legacy participant paths (below). server { listen 443 ssl http2; server_name join.eventbuzz.live; # ssl_certificate ... # ssl_certificate_key ... root /var/www/eventbuzz-join/dist; index index.html; location /assets/ { try_files $uri =404; expires 7d; add_header Cache-Control "public, immutable"; } # SPA fallback — /code/:code, /auth/callback, /quiz-present/..., event/session routes location / { try_files $uri $uri/ /index.html; } } # Optional: keep old printed QRs / emails working after host move. # Place on the marketing apex (eventbuzz.live) vhost — not on join. # # server { # listen 443 ssl http2; # server_name eventbuzz.live; # # ... marketing site ... # # location ^~ /code/ { # return 301 https://join.eventbuzz.live$request_uri; # } # location ^~ /auth/callback { # return 301 https://join.eventbuzz.live$request_uri; # } # location ^~ /quiz-present/ { # return 301 https://join.eventbuzz.live$request_uri; # } # } # Local development # - API: http://localhost:3001/api # - Participant SPA: cd eventbuzz && npm run dev (port 5174) # - Dashboard: cd frontend && npm run dev # - Backend .env: EVENTBUZZ_PUBLIC_URL=http://localhost:5174 (or https://join.eventbuzz.live in prod)