Skip to content

Teo03/FRRUAS-prototype

Repository files navigation

FRRUAS Prototype — CLI Application

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.

Use Cases

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

Prerequisites

  • Python 3.10+
  • Docker & Docker Compose (for PostgreSQL)

Setup

1. Start the Database

cd docker
docker compose up -d

This starts a PostgreSQL 16 container (frruas_db) on port 5432.

2. Load Schema and Seed Data

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.sql

3. Set Up the Python Environment

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

4. Run

python main.py

Test Credentials

All seed users share the password password123.

Role Email
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

Project Structure

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

Technology

  • psycopg2 — PostgreSQL adapter
  • bcrypt — password hashing

About

CLI prototype for the Faculty Resource Reservation and Usage Analytics System (FRRUAS)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages