For this project (transferred from Gitlab), each group of six students was divided into three subgroups of two, and each subgroup was then tasked with implementing a functionality/feature, including tests, to the HumanaEthica website, provided by the faculty. The development was split into two sprints (agile software development), with the first being focused on the backend and the second being focused on the frontend. We were also tasked with creating stories and issues, along with using proper commit messages and merge requests.
Subgroups:
- Enrollment (backend), Apply for an Activity (frontend): Tiago Deane (@TiDeane) and Afonso Matos (@afonsomatos3)
- Participation (backend), Select Participant (frontend): Luís Calado (@LC1243) and Henrique Caroço (@HenriqueProj)
- Assessment (backend), Write Assessment (frontend): Artur Krystopchuk (@ArturKrys) and Pedro Gomes (@pedroasgomes)
About • Technologies • Installation • License
HumanaEthica is an open-source broker that aims to connect charities and non-profit organizations with volunteers.
- Require download
- Postgres >= 14
- Java 17
- Maven
- Node 16.14 (Node Version Manager recommended)
- Docker
- No download required
- Install
sudo apt update && sudo apt upgrade
sudo apt install openjdk-17-jdk postgresql
- Start db, change to postgres user and create DB
sudo service postgresql start
sudo su -l postgres
dropdb hedb
createdb hedb
- Create user to access db
psql hedb
CREATE USER your-username WITH SUPERUSER LOGIN PASSWORD 'yourpassword';
\q
exit
- Rename
backend/src/main/resources/application-dev.properties.example
toapplication-dev.properties
and fill its fields - Run server
cd backend
mvn clean spring-boot:run
- See documentation on http://localhost:8080/swagger-ui.html
- Rename
frontend/example.env
to.env
and fill its fields - Run frontend
cd frontend
npm i
npm start
- Access http://localhost:8081
The following video shows how setup when you install the software in your machine. Requires the software mentioned above.
-
Install Docker in you machine.
-
Copy data/access.log.example to data/access.log
cp data/access.log.example data/access.log
- Copy data/access.log.example to data/access.log
cp data/error.log.example data/error.log
- Build HumanaEthica in project top directory, where docker-compose.yml is
docker-compose build
- Run HumanaEthica
docker-compose up frontend
- Shutdown HumanaEthica
docker-compose down
An easy way to obtain a working development environment is to use the development container provided (see folder .devcontainer
). This requires Docker.
The following video shows how to setup the dev container using IDE IntelliJ IDEA (Ultimate Edition).
This project is licensed under the MIT License - see the LICENSE file for details.