Skip to content

Nikhil713/BINGO

Repository files navigation

Implementation of BINGO Game system using Distributed Systems

Intro

This project implements a distributed system with a client-server architecture to bring the classic game of BINGO into the realm of distributed computing. The system demonstrates core distributed system principles, such as fault tolerance, dynamic discovery, and reliable communication.

Feature overview

  • Scalable Supports integration of any number of clients and servers, making it suitable for large-scale use.
  • Dyanmic Discovery of Hosts No hardcoding of IPs; clients and servers discover each other dynamically.
  • Fault Tolerance Ensures system functionality remains intact despite node failures.
  • Election Implements proper voting algorithms for leader election in case of conflicts or failures.
  • Ordered Reliable Multicast Ensures all messages are delivered accurately and in order.

Contents

Getting Started

Clone the Repo

git clone https://github.com/Nikhil713/BINGO.git

Install the Pre-Requisites

Conda

If conda is installed, and you are creating the environment freshly

conda env create -f environment.yaml

For updating the environment

conda env update -f environment.yaml

For using the environment

conda activate bingo-game

For exiting out of the environment

conda deactivate bingo-game

Pip

If you are using pip

pip install -r requirements.txt

Usage

Option Description Command Line Option Value Default
mode Mode in which application is started --mode or -m client/ server server
instances Number of instance to be started --instances or -i integer 1
verbose Verbose Mode --verbose or --no-verbose - --no-verbose
config Config File --config or -c - -

Used technologies

Contribute

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Sources

  • Distributed Systems concepts from "Distributed Systems: Principles and Paradigms" by Andrew S. Tanenbaum.
  • Game logic inspired by classic BINGO rules.

About

The game BINGO implemented on a distributed system with client-server architecture model

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages