Avaliação técnica de uma API de Mini Autorizador, desenvolvido em Java com Spring-Boot.
- CRUD
- API RESTful
- Basic Auth
- Validation
- Enum
- Exception
- MockMVC
- Java JDK 17
- Apache Maven >= 3.8.6
- MySql 8
- Docker (Opcional)
- Java
- JPA
- Maven
- Spring
- Lombok
- Swagger
- H2
- JUnit
- SonarQube
- Docker
$ git clone https://github.com/danilomeneghel/prova-vr.git
$ cd prova-vr
Para rodar o projeto com Maven, é necessário ter a versão 3.8.6 instalada.
Além disso, é preciso ter o Java 17 e o MySql 8 instalado.
Tendo tudo instalado e rodando localmente, basta executar o seguinte comando:
$ cd miniautorizador
$ mvn clean install -U
$ mvn spring-boot:run -Dspring-boot.run.profiles=dev
Caso não tenha o Maven instalado ou tenha outra versão, pode usar o comando ./mvnw (no Linux) ou mvnw.cmd (no Windows).
Para rodar o projeto via Docker-Compose, basta executar o comando:
$ cd docker
$ docker-compose up
Aguarde baixar as dependências e carregar todo o projeto, esse processo é demorado.
Caso conclua e não rode pela primeira vez, tente novamente executando o mesmo comando.
Para encerrar tudo digite:
$ docker-compose down
Aguarde carregar todo o serviço web.
Após concluído, digite um dos endereços abaixo em seu navegador.
Listar cartões cadastrados:
http://localhost:8080/cartoes
Listar transações cadastradas:
http://localhost:8080/transacoes
Documentação da API RESTful:
http://localhost:8080/swagger-ui.html
Login:
- Usuário: username
- Senha: password
Para verificar a cobertura de testes, primeiro acesse o seguinte endereço:
http://localhost:9000
Depois efetue o login preenchendo "admin" no usuário e senha (login padrão).
Ao se logar crie um novo projeto e gere o token.
Execute o seguinte comando do sonar:
$ cd miniautorizador
$ mvn clean verify sonar:sonar \
-Dsonar.projectKey=NOME_PROJETO_GERADO \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=TOKEN_GERADO
Após executado, acesse o seguinte endereço:
http://localhost:9000/dashboard?id=prova-vr
Para realizar os testes, execute o seguinte comando no terminal:
$ cd miniautorizador
$ mvn test
Projeto licenciado sob The MIT License (MIT).
Desenvolvido por
Danilo Meneghel
danilo.meneghel@gmail.com
http://danilomeneghel.github.io/