Ryujin is a web-based multiplayer game inspired by the popular board game Onitama. This repository holds the server-side setup needed to make Ryujin's multiplayer gameplay possible. If you're interested in exploring the frontend side of Ryujin, you can check it out at Ryujin-web
Below are the external dependencies integrated into this project:
- NestJS A progressive Node.js framework for building efficient, reliable, and scalable server-side applications.
- Socket.IO A library that enables real-time, bidirectional, and event-based communication between web clients and servers.
- ioredis A robust, full-featured Redis client for Node.js that provides high performance and reliability.
- Prisma An Object-Relational Mapping (ORM) library for TypeScript and JavaScript, simplifying database interactions with powerful features for managing entities, relationships, and queries.
- Copy the .env.template file named .env in the root directory of the project and fill in the necessary environment variables in the .env file based on your configuration requirements
- Ensure you have Docker and Docker Compose installed on your system. open the
docker-compose.yml
and customize the configuration of the services as needed. - Start the PostgresSQL and Redis services defined in
docker-dompose.yml
by executing the following command:
docker-compose up -d
- Make sure you install needed dependencies
npm install
- Run the following command to start the NestJS server
npm run start:dev