๐Ÿ“ฆ Frooodle / rummy-tiles-io

โ˜… 0 stars โ‘‚ 0 forks ๐Ÿ‘ 0 watching โš–๏ธ MIT License
๐Ÿ“ฅ Clone https://github.com/Frooodle/rummy-tiles-io.git
HTTPS git clone https://github.com/Frooodle/rummy-tiles-io.git
SSH git clone git@github.com:Frooodle/rummy-tiles-io.git
CLI gh repo clone Frooodle/rummy-tiles-io
Anthony Stirling Anthony Stirling refactor: add reusable io template + shared ui theme eef1a92 25 days ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ client
๐Ÿ“ docs
๐Ÿ“ server
๐Ÿ“ templates
๐Ÿ“„ .gitignore
๐Ÿ“„ docker-compose.yml
๐Ÿ“„ Dockerfile
๐Ÿ“„ LICENSE
๐Ÿ“„ package.json
๐Ÿ“„ README.md
๐Ÿ“„ README.md

Tile Rummy Multiplayer

Browser-based multiplayer Tile Rummy with room IDs and reconnects (same room ID + name).

Demo link: https://rummy-tiles-io.onrender.com/

Dev setup

npm install
npm run dev:server
npm run dev:client

  • Server runs on http://localhost:3000
  • Vite client runs on http://localhost:5173
  • The client auto-connects to port 3000 when running on 5173.

Rules implemented

  • Classic 106 tiles (two of each 1-13 in 4 colors + 2 jokers)
  • Up to 5 players, 13 tiles each
  • Initial meld: play at least 30 points from your hand before rearranging the table
  • Full table rearrangement after initial meld (must keep all existing table tiles)
  • Valid sets (same value, different colors) and runs (same color, consecutive)
  • Jokers can represent any tile; scoring treats jokers as 30 points
  • Round ends when a player empties their hand, or stalemate with empty deck

Production build

npm install
npm run build
npm start

Template scaffold

Use the adapter + room manager layout to build new IO games:

  • Adapter contract: docs/adapter-interface.md
  • Minimal scaffold: templates/blank-game/README.md
  • New repo checklist: docs/new-game-repo.md
  • Shared theme CSS: client/src/ui/theme.css

Docker

docker build -t tile-rummy .
docker run -p 3000:3000 tile-rummy