| | 1 | = Build Instructions = |
| | 2 | |
| | 3 | == Development Environment == |
| | 4 | |
| | 5 | ||'''Component'''||'''Version'''|| |
| | 6 | ||Python||3.10 or higher|| |
| | 7 | ||Docker||Required for PostgreSQL|| |
| | 8 | ||Docker Compose||Required for PostgreSQL|| |
| | 9 | ||OS||Linux, macOS, or Windows|| |
| | 10 | |
| | 11 | == Source Code == |
| | 12 | |
| | 13 | The prototype source code is available at: https://github.com/Teo03/FRRUAS-prototype |
| | 14 | |
| | 15 | {{{ |
| | 16 | git clone https://github.com/Teo03/FRRUAS-prototype.git |
| | 17 | cd FRRUAS-prototype |
| | 18 | }}} |
| | 19 | |
| | 20 | == Build Instructions == |
| | 21 | |
| | 22 | === Step 1: Start the Database === |
| | 23 | |
| | 24 | Create a `docker-compose.yml` file (or use the one provided in the project) and start PostgreSQL: |
| | 25 | |
| | 26 | {{{ |
| | 27 | docker compose up -d |
| | 28 | }}} |
| | 29 | |
| | 30 | The database configuration is: host `localhost`, port `5432`, database `frruas_db`, user `frruas_user`, password `frruas_pass`. |
| | 31 | |
| | 32 | === Step 2: Load the Schema and Sample Data === |
| | 33 | |
| | 34 | {{{ |
| | 35 | docker exec -i frruas_db psql -U frruas_user -d frruas_db < database/ddl/schema_creation.sql |
| | 36 | docker exec -i frruas_db psql -U frruas_user -d frruas_db < database/dml/data_load.sql |
| | 37 | }}} |
| | 38 | |
| | 39 | === Step 3: Set Up the Python Environment === |
| | 40 | |
| | 41 | {{{ |
| | 42 | python3 -m venv .venv |
| | 43 | source .venv/bin/activate |
| | 44 | pip install -r requirements.txt |
| | 45 | }}} |
| | 46 | |
| | 47 | === Step 4: Run the Application === |
| | 48 | |
| | 49 | {{{ |
| | 50 | python main.py |
| | 51 | }}} |
| | 52 | |
| | 53 | == Testing Instructions == |
| | 54 | |
| | 55 | === Test Credentials === |
| | 56 | |
| | 57 | All seed users share the same password for testing purposes: |
| | 58 | |
| | 59 | ||'''Role'''||'''Email'''||'''Password'''|| |
| | 60 | ||Administrator||ana.petrovska@finki.ukim.mk||password123|| |
| | 61 | ||Administrator||marko.dimitrovski@finki.ukim.mk||password123|| |
| | 62 | ||Teaching Staff||elena.stojanova@finki.ukim.mk||password123|| |
| | 63 | ||Teaching Staff||nikola.trajkovski@finki.ukim.mk||password123|| |
| | 64 | ||Student||stefan.nikolov@students.finki.ukim.mk||password123|| |
| | 65 | ||Student||martina.ilievska@students.finki.ukim.mk||password123|| |
| | 66 | |
| | 67 | === Testing Guide === |
| | 68 | |
| | 69 | 1. '''Log in as Administrator''' (ana.petrovska@finki.ukim.mk / password123) |
| | 70 | * Select ''Approve or Reject Reservations'' to review pending reservations |
| | 71 | * Select ''View Resource Usage Analytics'' to view all 7 reports |
| | 72 | * Select ''Register a New User'' to create a new account |
| | 73 | 2. '''Log out and log in as Teaching Staff''' (elena.stojanova@finki.ukim.mk / password123) |
| | 74 | * Select ''Browse Available Resources'' to search and filter resources |
| | 75 | * Select ''Make a Resource Reservation'' to create a reservation |
| | 76 | 3. '''Log out and log in as Student''' (stefan.nikolov@students.finki.ukim.mk / password123) |
| | 77 | * Select ''Browse Available Resources'' to view resources and check availability |
| | 78 | |
| | 79 | == Troubleshooting == |
| | 80 | |
| | 81 | * '''Database connection fails:''' Verify Docker is running with `docker ps`. Ensure the container `frruas_db` is up. |
| | 82 | * '''Port 5432 in use:''' Stop any other PostgreSQL instance, or change the port in `docker-compose.yml` and `db.py`. |
| | 83 | * '''Re-seed the database:''' Re-run the Step 2 commands to reset all data to the initial state. |