A BINGO Game initially designed for FPL(Fantasy Premier League), but can be used to create custom bingo game. This is not the usual Bingo with just numbers. But a game where custom options are present, and to play, players can create their cards using these custom options.
- Admin can create a League.
- Admin can create a "Game" (3X3 or 5X5) and:
- Add Game to a League.
- Add "GameOptions" to the Game(Options to select in a Card).
- Set a deadline for the Game.
- Users can login using 3 methods:
- Email/Password combination
- Google account
- Reddit account
- Users can login and create their own card using the GameOptions added by admin.
- Post the deadline, users will be able to see the cards of the other users in the league standings.
- Once the game is completed:
- The Admin can mark the "GameOptions" which are done from the admin dashboard ("These options will be crossed in the card").
- Once all the required GameOptions has been marked has done, admin can calculate the score of users.
- The users will be able to see their score and standings on the League Standings section.
A Player need to have get 5 cards covered either Vertically, Horizontally, or Along the Main Diagonals to get a BINGO LINE.
- The current deployment setup is done as for Railway.app.
- The Procfile in root directory is used by railway for build/deployment.
- Secrets and variables can be directly while configuring the application in Railway.
-
Clone the repository:
git clone https://github.com/ashwinss3/BingoGame.git
-
Navigate to the project directory:
cd BingoGame
-
Install dependencies:
pip install -r requirements.txt
-
Apply database migrations:
python manage.py makemigrations && python manage.py migrate
-
Run the development server:
python manage.py runserver
NOTE: Pycharm run configuration is already present in the project. The same can be used to run the project directly on local, after adding environment variable and necessary migrations.
Contributions are welcome! If you'd like to improve this Bingo game or add new features, feel free to fork the repository and submit a pull request.
Note: Feel free to update the designs. HTML/CSS weren't my strong areas. :)
This project is licensed under the MIT License. See the LICENSE file for details.