The Chess:E backend connects our physical chess board and web client, so users can play against each other. Clients communicate via a WebSocket connection with the backend, which handles game logic and stores the game state (though currently not persisted). Clients don't have to be connected to the same backend instance, multiple backend instances communicate via a message broker (LavinMQ).
Read the wiki at https://api.chesse.koeni.dev or connect using a WebSocket to wss://api.chesse.koeni.dev.
This diagram is a bit outdated but can serve as a general overview ;)
You are here: Bottom center (backend) / GitHub: backend / Version Control
You will find a request flow diagram in the wiki.
If you have not yet installed Deno, follow their easy installation guide. Then, simply execute:
deno run --allow-net server.ts
Tests are located in the /tests/ directory. Run tests by using:
deno test --allow-net
Optionally specify a test file to run or filter tests. Tests in the Communication.test.ts
file require the --allow-net flag.
Changes made on main
are automatically deployed to Google Cloud Run.
The deployment configured in the cloudbuild.yaml
file, so the project can also be deployed using gcloud run deploy
.