Roomie consists in a web platform where landlord can post their houses, and tenants can search for openings in houses. Each tenant has his evaluation scores that other users can access in order to decide if they want to live with them. Landlords can accept application or reject them. This repository contains all stages of developoment, from low-fidelity prototypes, to a fully functional production version.
Our low.didelity prototypes are located in the prototypes
folder. We have static representations with images, and a dynamic prototype that we built using figma.
In order to run our backend you need the to have the following installed on your machine:
- JDK 11+
- PostgreSQL
To run our backend and maintain it operational you need to follow these steps:
sudo -u postgres psql
postgres=# create database roomie;
postgres=# create user roomie with encrypted password 'passw0rd';
postgres=# grant all privileges on database roomie to roomie;
In order to keep it as simple as possible, you can run the backend, for example, in IntelliJ. To do so, you just need to run the RestApiApplication.java
file.
To create the database schema you just need to access the following endpoint: http://localhost:8083/api/admin/create-db
To run the frontend of our application, just navigate to the frontend
folder. First you will need to install node
. After that, install all required packages using:
npm i
After installing all packages you are ready to run the frontend. To do so just run:
npm run serve
We created a small program to populate ou system with users and houses. To do so, navigate to the populate
folder and run:
python3 populate.py
In order to help developing our frontend and to make ou backend more understandable, we used swagger to generate some documentation related to our api. This can be accessed by running the backend and opening thispage.
To test our applications capacity and performance we created some usefull tests with locust. These tests can be found in the benchmarking
folder.
This project was built as part of Application Engineering & Interactive Systems @ University of Minho:
- Diogo Ribeiro: ribeiropdiogo
- José Diogo Monteiro: dxmonteiro
- João Nuno Abreu: JoaoNunoAbreu
- Rui Mendes: ruimendes29
- Vasco Ramos: vascoalramos
This project is licensed under the MIT License - see the LICENSE file for details.