tullinge / booking

🎫 Bokningssystem för allaktivitetsdag
MIT License
0 stars 1 forks source link

Booking

Build Status Dependencies Language grade: Python Total alerts Latest release Code style: black

tullinge/booking

A booking system for the yearly event Allaktivitetsdag at Tullinge gymnasium.

Demo site at booking.tullingelabs.se

Requirements

Environment variables

These environment variables need to be set (except the ones which have defaults) before either running the application locally or building the Docker container (deployment).

Instructions (running locally)

  1. docker-compose up -d
  2. python scripts/setup_db.py
  3. python scripts/create_admin.py
  4. python main.py

Instructions (deployment)

  1. Set DOCKER_HOST and MYSQL_PASSWORD
  2. docker-compose -f prod.yml up -d
  3. docker exec booking_app_1 python scripts/setup_db.py
  4. docker exec -it booking_app_1 python scripts/create_admin.py

Key Features

Navigating the interface

Once you got the webserver running and an initial admin account created, you can log in to the admin interface by visiting /admin.

Once logged in, go ahead and click Aktiviteter to create a new activity. From each activity, you can create questions that the students have to answer when choosing the activity.

You can also add email addresses to activity leaders who should have access class lists for a specific activity. Leaders can access the interface by visiting /leader and signing in with their Google accounts (as specified when the admin grants privileges).

Then you can move on to the Klasser page, where you can create school classes that will be shown to the students when they initially set up their accounts. A join code will also be generated which is used by the students when initially signing up (when the student enters the code they will be registered to that class).

Students sign in using Google, which makes authentication a lot smoother. The system fetches the first name and surname of the user using information from Google. The student just has to type in the 8 digit code to be registered to the class. From the interface, the student can browser activities, book activities and re-book activities.

User stories



Other requirements

Contributing

Feel free to open an issue or send in a pull request. All code should be formatted using black. This project uses the semantic versioning convention, see CHANGELOG.md for more information.