The frontend is a React
web application. The app talks to the backend Express
server via the WebSockets
protocol, falling back to the HTTPS
protocol if the socket connection fails. The game state is stored in a cloud Redis
database.
New languages can be defined by doing the following:
- Define the new language here: availableLanguages.ts
- Add translations for the new language here: translations.ts
Deployments are automated. To deploy a new version of the game, simply create a new Release.
- EXPRESS_PORT
- REDIS_CONNECTION_STRING
- REACT_APP_API_BASE_URL
- REACT_APP_SOCKET_SERVER_URL
- REACT_APP_SOCKET_SERVER_PATH
cd server
pnpm i
pnpm dev
cd client
pnpm i
pnpm start
Server needs to be running for integration tests
cd server
pnpm test
cd client
pnpm test
pnpm cypress open