Go to file
2024-01-18 15:29:35 +01:00
.circleci added deploying to ECS 2024-01-18 15:27:48 +01:00
backend added deploying a docker image to docker hub 2023-12-20 18:21:45 +01:00
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 added deploying to ECS 2024-01-18 15:27:48 +01:00
.dockerignore added deploying a docker image to docker hub 2023-12-20 18:21:45 +01:00
.gitignore added deploying a docker image to docker hub 2023-12-20 18:21:45 +01:00
.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
Dockerfile added deploying a docker image to docker hub 2023-12-20 18:21:45 +01:00
package-lock.json added cypress e2e tests 2023-12-19 09:27:47 +01:00
package.json added deploying a docker image to docker hub 2023-12-20 18:21:45 +01:00
README.md added deploying to ECS 2024-01-18 15:27:48 +01:00

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.

>> Play online here <<

>> 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