Skip to content

darkterbear/mahjong

Repository files navigation

mahjong

Web-based multiplayer Taiwanese 16-tile Mahjong (with full DAN scoring per ~/subterfuge).

Stack

  • Server: Python (FastAPI + python-socketio + uvicorn). Imports subterfuge as a git submodule.
  • Client: React (existing). socket.io-client for the realtime layer.
  • Scoring: pluggable via subterfuge's DanFullRuleset.

Setup

Requires Python 3.11+, Node 16+ with yarn, and git.

git clone --recurse-submodules git@github.com:darkterbear/mahjong.git
cd mahjong
make install

Run

make dev

Server on http://localhost:8080, client on http://localhost:5000. Ctrl+C kills both.

Other Make targets

  • make test — run all server + client tests
  • make build — production build of the client
  • make run — Python server only (no auto-reload)
  • make clean — remove caches and the client build

Bumping subterfuge

cd subterfuge
git fetch
git checkout <new-sha>
cd ..
git add subterfuge
git commit -m "Bump subterfuge to <new-sha>"

Attribution

Mahjong Tile Vectors by Cangjie6 is licensed under CC BY-SA 4.0.

About

Web-based multiplayer traditional Chinese Mahjong (none of that whitewashed solitaire stuff).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors