Skip to content
This repository has been archived by the owner on May 12, 2023. It is now read-only.
/ sagexit Public archive

A stripped down Django reservation system using SAML

License

Notifications You must be signed in to change notification settings

svthalia/sagexit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sagexit

Even our beloved Mercator could not escape the coronavirus. Instead of a cozy space where far too many people, far too close to each other, trying to study while actually socializing and complaining about the dirt in the kitchen, Mercator has become a silent place where people actually come to study (or at least, that's what they should be doing).

Because everything in times of corona needs a registration system, also Mercator had to get one. As computer scientists, of course we developed are own one that exactly fits our needs searched the whole internet for buggy systems that we did not have to pay for. What we finally got: sagenda. A terrible system that did not allow cancelling reservations, or didn't even allow you to look up who actually did a reservation.

It's time for a sagexit.

With a lot of inspiration from https://github.com/GipHouse/Website and https://github.com/KiOui/TOSTI, I hacked together a rather minimal application (though I would love to get rid of the sass as well).

It features:

Set up server

  1. sudo apt install docker-compose
  2. sudo systemctl enable docker
  3. sudo usermod -aG docker ubuntu
  4. Run the deployment workflow

User authentication happens via the CNCZ Science SAML signon server. This server needs to be set up manually after deployment from the Django admin. It is thus required to create a temporary superuser on the server, to actually do this. After setup and first login, the superuser permissions can be transferred to an actual account.

NB: for local development, with either apt or brew, xmlsec1 must also be installed manually!