almoghindi / Backgammon

Backgammon game with chat, Desktop application using electron, web app using React + TypeScript, nodejs with Express, Socket.io, MongoDb, Redis and Microservices architecture implements with Docker.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Backgammon Project

Created by Almog Hindi and Yonatan Raz

Tech Stack

Frontend

React.js | TypeScript | Electron

Backend

Express.js | Socket.io | Docker | Redis

Containerization

Docker | Docker-Compose

Database

MongoDB

Main Features

User authentication and authorization

User interaction

image2

image

  • View other online users
  • Real time chat + notifications
  • Game invitations
  • Real time game

Game

image3

  • Fully working backgammon game between online users
  • Tracking user score and rank

Microservices Architecture

  • Microservice for each backend service
  • Containerization with Docker
  • Multi-container management with Docker Compose

Requirements

  1. you should have docker desktop installed to allow the microservices to run.
  2. you should also set up your own environment variables in order for the app to function properly.

Install instructions:

  1. clone repository
  2. set up client:

root folder

$ cd talkbackclient
$ npm i
$ npm run dev
  1. set up game

root folder

$ cd Game/Backgammon-React-main
$ npm i
$ npm run dev
  1. set up microservices

root folder

$ cd talkbackserver
$ docker compose build
$ docker compose up

About

Backgammon game with chat, Desktop application using electron, web app using React + TypeScript, nodejs with Express, Socket.io, MongoDb, Redis and Microservices architecture implements with Docker.


Languages

Language:TypeScript 71.8%Language:JavaScript 22.1%Language:CSS 5.5%Language:HTML 0.6%