Welcome to the repository of the games website. This application is designed to provide some drinking games that can be easily created and plugged into the existing system.
Currently, the following games are implemented:
- Bussen
This project is built using the Django framework. Poetry is used for dependency management.
- Get at least Python 3.7 installed on your system.
- Clone this repository.
- If
pip3
is not installed on your system yet, executeapt install python3-pip
on your system. - Also make sure
python3-dev
is installed on your system, executeapt install python3-dev
. - Install Poetry by following the steps on their website. Make sure poetry is added to
PATH
before continuing. - Make sure
poetry
uses your python 3 installation:poetry env use python3
. - Run
poetry install
to install all dependencies. - Run
poetry shell
to start a shell with the dependencies loaded. This command needs to be ran every time you open a new shell and want to run the development server. - Run
cd website
to change directories to thewebsite
folder containing the project. - Run
./manage.py migrate
to initialise the database and run all migrations. - Run
./manage.py createsuperuser
to create an administrator that is able to access the backend interface later on. The password you set here will not be used as the openid server will be used for identification, be sure to set the super user to your science login name. - Run
./manage.py runserver
to start the development server locally.
Now your server is setup and running on localhost:8000
. The administrator interface can be accessed by going to localhost:8000/admin
.
For running this application with a docker, a docker image of the latest build is provided on this page. You can also build your own docker image by executing docker build .
in the main directory. An example docker-compose file is added as docker-compose.yml.example
.
For easy expansion, the rooms module provides all the things necessary for keeping track of player connections/disconnections. The rooms module also provides a way to communicate to the players via a websocket.