Skip to content

KiOui/bussen

 
 

Repository files navigation

Bussen

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

Getting started

This project is built using the Django framework. Poetry is used for dependency management.

Setup

  1. Get at least Python 3.7 installed on your system.
  2. Clone this repository.
  3. If pip3 is not installed on your system yet, execute apt install python3-pip on your system.
  4. Also make sure python3-dev is installed on your system, execute apt install python3-dev.
  5. Install Poetry by following the steps on their website. Make sure poetry is added to PATH before continuing.
  6. Make sure poetry uses your python 3 installation: poetry env use python3.
  7. Run poetry install to install all dependencies.
  8. 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.
  9. Run cd website to change directories to the website folder containing the project.
  10. Run ./manage.py migrate to initialise the database and run all migrations.
  11. 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.
  12. 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.

Docker

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.

Rooms module

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.

Packages

 
 
 

Languages

  • Python 60.6%
  • HTML 15.1%
  • JavaScript 14.3%
  • CSS 9.2%
  • Other 0.8%