Protochess is an online chess website designed to let you customize your own chess boards/pieces. Want a piece that can move like a knight + queen? Sure. Want to play on a 16x16 sized board? Impractical but you can do it!
Rust for the backend/chess logic/multiplayer server
Svelte for the single page app frontend
The frontend/static website is contained in protochess-front.
The backend multiplayer websocket server is in protochess-server-rs.
Common shared data structures between the front/backend are in protochess-common
The actual chess logic/chess engine is in protochess-engine-rs, with bindings to WebAssembly contained in protochess-engine-wasm.
Included in the base directory is a Dockerfile that compiles the frontend and launches the webserver.
git clone https://github.com/raytran/protochess
cd protochess
docker build -t protochess .
docker run -p 3030:3030 protochess
This will launch the chess page at localhost:3030
You can email me (Raymond Tran) here: raytran@mit.edu