Frontend
If the NEXT_PUBLIC_FLAGS_URL is set to a non-empty value in .env, you may notice that you will always be redirected back to / even if you set the stgFlags.stage to open.
To resolve this, please remove the value for NEXT_PUBLIC_FLAGS_URL while on localhost.
Frontend components
Stack
- React + Next.js
- Axios for API calls
Platform
- Netlify
Notable files
useFlags.tsxis used to toggle flag state about different components of the website (separate flags repository to avoid redeployments)backend/model/*stores the DTOs used for each backend endpoint (auto generated using orval from the Swagger file)data/*has some hardcoded values of various elements of the website in JSON filespages/*is standard React pagescomponents/*is standard React components
Environment variables
# From Google console for Firebase project
NEXT_PUBLIC_FIREBASE_API_KEY=
# Project name when setting up Firebase
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
# From Firebase project settings page (scroll to the bottom)
NEXT_PUBLIC_FIREBASE_APP_ID=
# From Discord bot in the Discord bot developer portal
NEXT_PUBLIC_DISCORD_CLIENT_ID=
# From Discord server (enable Developer Mode to copy link)
NEXT_PUBLIC_DISCORD_GUILD_ID=
# From Discord server (enable Developer Mode to copy link)
NEXT_PUBLIC_DISCORD_LFT_CHANNEL_ID=
# Staging/Prod API URL, uses NODE_ENV to
# toggle to this variable or to localhost:5134 (for local)
NEXT_PUBLIC_API_URL=
# Points to flag repository to read from
# If running locally, do not set this value, otherwise, the flags will be wrong
NEXT_PUBLIC_FLAGS_URL=
# Disables Firebase auth mode, to leave this alone
NEXT_PUBLIC_DISABLE_FIREBASE_AUTH=
Important pointers for future iterations
- Must regenerate a new Firebase store
- Must update Discord guild ID, channel ID + (potentially new Discord bot token)