Instalação / Configuração do Ambiente de Desenvolvimento
- Utilizando um development container
- Instalando todo o software manualmente (instalação manual)
1. Development Container
A maneira mais fácil de configurar um ambiente de desenvolvimento funcional é utilizar o dev container fornecido com o projecto. Esta solução requer a instalação do Docker.
Recomendamos também o uso do IDE IntelliJ IDEA (Ultimate Edition), gratuito para alunos do IST. Para instalar o IDE, basta aceder a https://www.jetbrains.com/shop/eform/students, escolher a opção “Apply with university email address”, e preencher os campos, usando o email do IST. Por fim, clicar em “Apply for free products”, e seguir as instruções, para criar conta JetBrains. Depois, aceder a https://account.jetbrains.com/licenses e fazer download do IDE. Por fim, ao iniciar o IDE, fazer login com a conta criada.
Para configurar o ambiente de desenvolvimento utilizando dev containers, os alunos podem seguir os passos descritos no seguinte vídeo.
2. Instalação Manual
Para a realização do projecto é necessário instalar:- Java 17
- Maven
- PostgreSQL >= 14
- Node.js 16 (tem que ser esta versão!)
Comandos para instalação em Ubuntu:
sudo apt install openjdk-17-jdk postgresql postgresql-client maven wget # Node.js: sudo apt install --no-install-recommends libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb wget -O - https://deb.nodesource.com/setup_16.x | sudo bash - && sudo apt install -y nodejs # Config da BD sudo /etc/init.d/postgresql start sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';" sudo -u postgres psql -c "CREATE DATABASE hedb;"
Em Mac podem usar o Homebrew:
brew install postgresql maven node@16 brew link node@16 # Config da BD brew services start postgresql psql -c "CREATE USER postgres PASSWORD 'postgres';" psql -c "CREATE DATABASE hedb;"
Em Windows, é necessário WSL 2 c/ suporte GUI (Windows 11 actualizado) para correr os testes do frontend. O resto funciona com WSL 1.
Correr Testes
Podem verificar que a vossa instalação está funcional, correndo os testes:# estas configurações podem ser colocadas no .bashrc, por exemplo export POSTGRES_DB=hedb export POSTGRES_USER=postgres export POSTGRES_PASSWORD=postgres export POSTGRES_HOST_AUTH_METHOD=trust export PSQL_INT_TEST_DB_USERNAME=postgres export PSQL_INT_TEST_DB_PASSWORD=postgres export cypress_psql_db_name=hedb export cypress_psql_db_username=postgres export cypress_psql_db_password=postgres export cypress_psql_db_host=localhost export cypress_psql_db_port=5432 # Testes de unidade cd backend mvn clean -Ptest test # Testes de integração mvn clean verify -Ptest-int # Limpa BD sudo -u postgres psql -d hedb -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;" # Testes frontend cd ../frontend npm install # Testes end-to-end cd ../backend mvn clean -Ptest-int spring-boot:run & cd ../frontend npm start & # Espera que o servidor arranque wget --tries=0 --timeout=1 --retry-connrefused -q http://localhost:8081 npx cypress run
