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
pip3is not installed on your system yet, executeapt install python3-pipon your system. - Also make sure
python3-devis installed on your system, executeapt install python3-dev. - Install Poetry by following the steps on their website. Make sure poetry is added to
PATHbefore continuing. - Make sure
poetryuses your python 3 installation:poetry env use python3. - Run
poetry installto install all dependencies. - Run
poetry shellto 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 websiteto change directories to thewebsitefolder containing the project. - Run
./manage.py migrateto initialise the database and run all migrations. - Run
./manage.py createsuperuserto 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 runserverto 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.