Requirements
Aulabook is a Python web-app built using Flask.
It works as an advanced room and laboratory booking system, created by following the needs of my school, I.I.S. Leonardo in Giarre.
The use case scenario was widely described in the project website.
How Aulabook works?
Aulabook operates as explained by this diagram. It simultaneously communicates with both the end user and the domain controller to create, delete, and modify new or existing bookings.
When the user adds a new reservation, Aulabook checks for its presence in its SQLite database. If no reservation exists, it creates a new one, prompting the user for a series of information, and then creates a username and password pair that is sent to the domain controller. After adding the credentials to the domain controller, Aulabook confirms the reservation to the user via email and notifies the laboratory administrator (also via email) that a new reservation has been added.
Requirements
In order to set up a proper environment for Aulabook, you need:
- A server running Windows Server ≥ 2016 (tested only on Windows Server 2022)
- A server/virtual machine running a Linux operating system (Ubuntu 22.04 LTS recommended)
- You need to install Python on the server, if not already preinstalled
- Optional but highly recommended, use a Reverse Proxy to make Aulabook reachable from the internet. For example Nginx Proxy Manager
- At least 1 PC joined to the domain, considered as a laboratory PC.
Aulabook installation
Aulabook will be installed by following the Linux Server tutorial, you'll be guided in how create the virtual environment, Apache configuration and so on...
Please referr to this tutorial tutorial for further information