Skip to content
This repository was archived by the owner on Jun 29, 2020. It is now read-only.

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HOAX booking

heroku app

database structure

user stories and SQL queries

original description (in Finnish)

installation

user guide

shortcomings

description

The objective is to build a booking system for HOAX student housing's shared resources, like saunas, laundry rooms and common rooms. Each housing community has access to certain resources, which can be booked and used by all the members of the community (usually, the tenants living at the community's address). An admin can manage one or more housing communities. Regular users can share a resource with one or more communities, and they can book the resources to which their community has access. Each resource has a given price per hour. Only the tenant whose name is on the reservation has access to the resource at that given time; for this purpose she can enter her password at the door.

Both regular users and admins can compose an invoice to pay for one or many reservations. The admins can use the invoice's reference number to find it and mark it as paid. If a tenant doesn't compose an invoice after a given amount of time, an admin will compose one.

Some functionalities:

  • login
  • create and cancel reservations
  • compose invoices
  • password change

University of Helsinki, Database Application course project (tsoha)

installation

local

To run the app locally, first install Python, then create and activate a virtual environment as explained here (commands vary depending on your OS). Then install dependencies by running

pip install -r requirements.txt

To execute the code run

python3 run.py

or alternatively (on Windows, with Python in your PATH)

python run.py

Heroku

The app doesn't require additional configuration to be deployed on Heroku. Deploy either with Git or directly from Github. Then add the Postgres add-on, using either the command line interface or the dashboard.

user guide

If nothing exists in the app, first you have to create a community. Then you can create an account (with admin privileges, if you want). Then you can log in, and create a resource. Then you can book that resource. Then you can create an invoice, that includes a user's bookings.

Anonymous users, logged in users and admins all have different privileges. Most of these privileges have been designed realistically, but some have been kept less restrictive to allow for easier testing of the app (for example, everyone can create a community, and a regular user can choose to become an admin).

shortcomings

  • time zone support (now all times are in UTC)
  • pagination for all lists (now there's pagination only for resources list)
  • better filtering and keyword search for all lists
  • links in lists (details, edit, delete) could be displayed only if the user has the necessary credentials to access them
  • bookings list with account's own bookings (now if admin made a booking on behalf of a normal user for a resource she couldn't otherwise access, she doesn't see this booking in the bookings list)

About

University of Helsinki, Database Application course project (tsoha)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages