Command-line prototype for the Faculty Resource Reservation and Usage Analytics System (FRRUAS).
A database course project (Databases 2025/2026 Winter) at FINKI, under the supervision of Prof. Dr. Vangel V. Ajanovski. This prototype connects to a PostgreSQL database and demonstrates six use cases through an interactive terminal interface.
| UC | Name | Role |
|---|---|---|
| UC0001 | Browse Available Resources | All |
| UC0002 | Make a Resource Reservation | Teaching Staff |
| UC0003 | Approve or Reject Reservations | Administrator |
| UC0007 | View Resource Usage Analytics | Administrator |
| UC0008 | Log In to the System | All |
| UC0009 | Register a New User | Administrator |
- Python 3.10+
- Docker & Docker Compose (for PostgreSQL)
cd docker
docker compose up -dThis starts a PostgreSQL 16 container (frruas_db) on port 5432.
docker exec -i frruas_db psql -U frruas_user -d frruas_db < database/ddl/schema_creation.sql
docker exec -i frruas_db psql -U frruas_user -d frruas_db < database/dml/data_load.sqlpython3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtpython main.pyAll seed users share the password password123.
| Role | |
|---|---|
| Administrator | ana.petrovska@finki.ukim.mk |
| Administrator | marko.dimitrovski@finki.ukim.mk |
| Teaching Staff | elena.stojanova@finki.ukim.mk |
| Teaching Staff | nikola.trajkovski@finki.ukim.mk |
| Student | stefan.nikolov@students.finki.ukim.mk |
| Student | martina.ilievska@students.finki.ukim.mk |
| File | Description |
|---|---|
main.py |
Entry point: login with email/password, role-based main menu |
db.py |
Database connection helper and shared UI utilities |
uc_browse.py |
UC0001: Browse Available Resources |
uc_reserve.py |
UC0002: Make a Resource Reservation |
uc_approve.py |
UC0003: Approve or Reject Reservations |
uc_analytics.py |
UC0007: View Resource Usage Analytics |
uc_users.py |
UC0009: Register a New User |
docker/ |
Docker Compose configuration for PostgreSQL |
database/ |
SQL scripts for schema creation and seed data |
- psycopg2 — PostgreSQL adapter
- bcrypt — password hashing