Proof of concept project to practice Rust and TypeScript programming. The idea is to include these subpackages:
- Core library with the game utilities and tests
- Service that persists and handles games for clients
- Can be communicated via an HTTP API
- It creates a WebSocket per active game, to process the game and communicate with clients
- It has a GraphQL endpoint to reduce the number of requests
- Scripts to handle different tasks related to the code deployment and tests
- For example running linting, tests, and deploying to Docker
- Web client to play, both for desktop and mobile web
- It uses a drag-n-drop UI to play, and it has translated texts
- Includes E2E tests
- React Native apps which reuse some code with the web code
- A Rust TUI application as a prototype for playing games and running simulations
The game uses Hong Kong style Mahjong. The goal is to write it as much as possible in Rust, except the web client frontend where it uses TypeScript.
This is WIP, the subprojects will remain v0.x until the project reaches the MVP state