This web application allows users to create and join rooms to play 4 player Japanese Mahjong. Mahjong is a tile game similar to rummy, where players must form a hand consisting of 4 triplets/sequences plus a pair (with quite a few edge cases and quirks). Socket.io is used to create game rooms on the fly, manage the game logic and board state, and keep sensitive game data and knowledge isolated, while the client runs various algorithms to analyze the player's hand. The website is built with React, with a touch of Materialize for styling.
Please check out the code at https://github.com/mcontract27/Mahjong
Project Members: Matthew Contract