/Mafia

An online multiplayer take on the classic party game Mafia

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Mafia 💎🖐

This is an online multiplayer take on the classic party game Mafia. The game splits players into civilians and mafia members. The goal of the game is simple, kill the opposing team. The full ruleset can be found here. However, since this is an OSS project, developers are free to edit rules and add new functionality as they please.

Please review the documentation for guidelines and information about the software.

Installation

Before you install and get started with this project, please ensure that you have installed nodejs and npm on your computer.

This project uses the package manager npm to install all dependencies.

First, clone the repository and open the project directory:

git clone git@github.com:Mafia-Hands/Mafia.git
cd Mafia

To run this application locally, the frontend and backend must run together. You can do it like so:

Frontend:

cd frontend
npm install
npm start

Backend:

cd backend
npm install
npm start

Note: You do not need to run npm install everytime. Only when a new package is added.

Note: Ensure that the socket.js file (frontend > src > socket.js) points to your local server by uncommenting the necessary line.

Usage

For development purposes, you can run the application locally by following the Installation Instructions.

If you would like to play the game, follow our guide on how to Get Started. If you don't know how to play Mafia, you can also read the Rules of the game!

Support

If you encounter any issues regarding this project, please create a Github Issue using the relevant template. You can also tag a specific contributor if you feel like they might be able to help you out.

Roadmap

Outstanding issues and requests can be tracked and visualised on our Github Projects page.

Backend

Frontend

DevOps

Documentation

Contributing

If you would like to contribute to this project, please make sure to follow our Contributing Guidelines.

Authors and acknowledgement

This project was coordinated by and for the University of Auckland course SOFTENG 701.

Thanks to:

  • University of Auckland - for providing the opportunity to work on and create this project
  • Dr Kelly Blincoe - for assistance with the development of this project

Also, special thanks to the members of Team 4 (Mafia Hands) for their hard work and dedication towards this project. A detailed list of their contributions can be found here.

Thanks to Team 3 (3Lancers) too, for all the extra work they've done.

Project Status

  • The original developers of this project have now concluded their involvement.
  • Similarly Team 3 has overhauled the design and added extra features and have also concluded their involvement.
  • We welcome any and all contributions! For a list of suggested additions to this app, take a look at the Future Works page on our Wiki.

Code of Conduct

Please ensure all code of conduct is followed.

License

Licensed under the Apache License 2.0 license