Skip to content
/ michess Public

an attempt to build an async chess server using rust and web assembly

Notifications You must be signed in to change notification settings

xngln/michess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

michess

wip - an attempt to build an async online chess server using rust and web assembly. Web server is Warp. Runtime is Tokio. DB is PostgreSQL and caching of game state is done with Redis. Server uses GraphQL with the async-graphql implementation. UI uses Rust WASM on the Seed framework with Tailwind CSS and is built using Trunk.

setup & requirements

todo

accounts / authentication
  • account creation
  • login ( password salting, hashing )
  • guest account
  • profile page with win / losss / draw info
matchmaking
  • a player can search for another player to challenge
  • prevent challenges to offline players
  • ability to face a random online player
  • can open multiple games with multiple players
  • close connection if no activity within time limit
chess
  • draw board and pieces
  • allow piece movement
  • implement piece capturing
  • implement castling
  • implement en passant
  • disallow illegal moves
  • implement elo system
  • implement different time controls
  • implement pre-moving
  • implement move history (see what the previous moves were)

About

an attempt to build an async chess server using rust and web assembly

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages