Go to file
2026-01-30 02:47:50 +05:30
.circleci Changed AWS Account 2025-03-11 22:53:46 +01:00
backend Update MongoDB connection settings and enhance debugging capabilities 2026-01-28 15:54:33 +05:30
cypress added cypress e2e tests 2023-12-19 09:27:47 +01:00
public routes added 2021-03-13 16:59:54 +01:00
src Refactor socket initialization for development and production environments 2026-01-30 02:44:40 +05:30
.dockerignore added deploying a docker image to docker hub 2023-12-20 18:21:45 +01:00
.env Update MongoDB connection URI and backend port in environment configuration 2026-01-30 02:47:50 +05:30
.gitignore ludo web based game config file changes 2026-01-28 14:02:27 +05:30
.prettierrc added handler for login 2022-05-29 18:17:28 +02:00
cypress.config.js added cypress e2e tests 2023-12-19 09:27:47 +01:00
docker-compose.yml ludo web based game config file changes 2026-01-28 14:02:27 +05:30
Dockerfile Update MongoDB connection settings and enhance debugging capabilities 2026-01-28 15:54:33 +05:30
package-lock.json Update MongoDB connection settings and enhance debugging capabilities 2026-01-28 15:54:33 +05:30
package.json added deploying a docker image to docker hub 2023-12-20 18:21:45 +01:00
README.md Update README.md 2025-04-22 21:09:27 +02:00
troubleshooting.md ludo web based game config file changes 2026-01-28 14:02:27 +05:30
wait-for-mongo.sh added empty config files 2026-01-30 01:15:25 +05:30

Online Multiplayer Ludo Game

Ludo Online is a multiplayer web-based implementation of the classic board game Ludo, built using the MERN stack and integrated with SocketIO for real-time communication.

>> Watch YouTube Video here <<

Architecture

Interface

Tech Stack

Frontend:

JavaScript React React Router CSS3 HTML5 MUI

Backend:

MongoDB Express.js Socket.io NodeJS

Tests:

cypress Mocha Jest

Other:

Docker AWS CircleCI Git Jira

Key Features and Challenges

  • Maintained session consistency with Express Session and MongoDB.

  • Enabled real-time communication via WebSocket and SocketIO.

  • Maintained code reliability by implementing unit and integration tests using Mocha, Chai, and Jest.

  • Implemented E2E tests utilizing Cypress, addressing challenges related to testing collaboration and canvas functionality in the application.

  • Established a CI/CD pipeline using CircleCI, with pushing Docker container to AWS ECR and deploying to AWS ECS

Installation

  1. Download this repository

  2. Generate your own mongoDB atlas credential URL. It should looks like this:


mongodb+srv://madmin:<password>@clustername.mongodb.net/<dbname>?retryWrites=true&w=majority

  1. Add this URL to the /backend/.env file (refer to .env.example)

  2. Perform these commands in the main directory:

npm i
npm start
cd backend
npm i
node server.js

Screenshots

Interface

Interface

Interface