Neste projeto eu fui responsável por criar uma API REST responsável por gerenciar endereços de pessoas utilizando Java com Spring-boot e o banco de dados PostgreSQL.
Também utilizei o conceito de Rest Template, onde pude pegar os dados da api https://brasilapi.com.br/api/cep/v1/{cep} onde é possível fornecer o cep e receber os dados como estado, cidade, rua entre outros. Com isso, utilizei essas informações para completar os dados do endereço.
Após cada um dos passos, haverá um exemplo do comando a ser digitado para fazer o que está sendo pedido.
- Realize o clone do projeto no diretório de sua preferência:
git clone git@github.com:humberto-bonadiman/address_register.git
- Acesse o diretório do projeto e depois utilize o comando mvn install para instalar todas as dependências necessárias:
cd address_register
mvn install
- Após empacote o código compilado com o comando mvn package:
mvn package
Para criar e iniciar os contêineres:
Obs.: Com o comando abaixo o docker fica rodando no terminal.
docker-compose up
Para criar e iniciar os contêineres em stand-by:
docker-compose up -d
Para realizar apenas a etapa de build das imagens que serão utilizadas:
docker-compose build
Para paralisar e remover todos os contêineres e seus componentes como rede, imagem e volume:
docker-compose down
No arquivo que está no caminho /src/main/resources/application.yml você deve alterar a 6ª(username) e a 7ª(password) linha com o usuário e senha do seu PostgrSQL:
spring:
datasource:
username: username
password: password
Entre no PostgreSQL intalado na sua máquina e crie a tabela address_register:
sudo -u postgres psql
CREATE DATABASE address_register OWNER <seu_usuário_postgresql>;
Saía da linha de comando do postgresql com \q e rode o Spring-Boot com o comando:
mvn spring-boot:run
Para realizar todos os testes da aplicação você pode utilizar o seguinte comando:
mvn clean test
Para realizar somente um teste específico você deve utilizar o comando:
mvn test -Dtest=O_nome_do_teste_vai_aqui
Exemplo:
mvn test -Dtest=CreateAddressTest
Para realizar mais de um teste basta adicionar uma vírgula ao final do teste conforme o exemplo:
mvn test -Dtest=CreateAddressTest,DeleteAddressByIdTest
Para realizar os testes do pacote addressTest você deve utilizar o seguinte comando:
mvn test -Dtest="com.br.address_register.addressTests.**"
Para realizar os testes do pacote personTests você deve utilizar o seguinte comando:
mvn test -Dtest="com.br.address_register.personTests.**"
Para acessar a documentação pelo swagger rode o comando mvn spring-boot:run ou docker-compose up e acesse o projeto via browser, no caminho http://localhost:8081/swagger-ui/index.html ou pelo caminho http://localhost:8081/v3/api-docs.