Ryujin is a web-based multiplayer game inspired by the popular board game Onitama. Ryujin brings the tactical challenges of Onitama to the online arena where players take on the role of ancient Japanese martial artists, competing to capture their opponent's master while defending their own. This repository contains the client-side of the project. The server-side components can be found at Ryujin-server
Ryujin relies on the following third-party libraries:
- TanStack Router A powerful and flexible routing library for React applications.
- XState A state management library that helps manage complex state machines and state-driven logic.
- Socket.IO A library for real-time, bidirectional and event-based communication.
- React DnD A set of React higher-order components to help you build complex drag and drop interfaces.
- React Hooks Form A performant, flexible and extensible forms with easy-to-use validation.
- Zod A TypeScript-first schema validation library.
Contributions to Ryujin are welcome! Feel free to join us in improving the project. If you have any ideas or suggestions, please open an issue to discuss them before making any changes
Ryujin is released under the GNU Affero General Public License v3.0, ensuring that it remains open source and freely accessible to everyone.