Skip to content

PawnHubChess/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chess:E Backend

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).

View Docs View on CODE Learning Platform Deno Tests

Read the wiki at https://api.chesse.koeni.dev or connect using a WebSocket to wss://api.chesse.koeni.dev.

Chess:E Project Structure

This diagram is a bit outdated but can serve as a general overview ;)

image You are here: Bottom center (backend) / GitHub: backend / Version Control

Backend Architecture

architecture diagram

You will find a request flow diagram in the wiki.

Running the backend locally

If you have not yet installed Deno, follow their easy installation guide. Then, simply execute:

deno run --allow-net server.ts

Testing

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.

Deploying

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.


chess bot