https://github.com/danilomeneghel/prova-vr
API REST - VR Benefícios
https://github.com/danilomeneghel/prova-vr
api-rest docker-compose java-17 junit5 lombok maven mockito mysql-8 sonarqube spring-boot spring-security swagger-ui
Last synced: about 2 months ago
JSON representation
API REST - VR Benefícios
- Host: GitHub
- URL: https://github.com/danilomeneghel/prova-vr
- Owner: danilomeneghel
- License: mit
- Created: 2024-11-07T00:52:48.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-09T15:58:57.000Z (over 1 year ago)
- Last Synced: 2025-10-05T13:28:42.137Z (9 months ago)
- Topics: api-rest, docker-compose, java-17, junit5, lombok, maven, mockito, mysql-8, sonarqube, spring-boot, spring-security, swagger-ui
- Language: Java
- Homepage:
- Size: 1.58 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Prova VR
Avaliação técnica de uma API de Mini Autorizador, desenvolvido em Java com Spring-Boot.
## Características
- CRUD
- API RESTful
- Basic Auth
- Validation
- Enum
- Exception
- MockMVC
## Requisitos
- Java JDK 17
- Apache Maven >= 3.8.6
- MySql 8
- Docker (Opcional)
## Tecnologias
- Java
- JPA
- Maven
- Spring
- Lombok
- Swagger
- H2
- JUnit
- SonarQube
- Docker
## Instalação
```
$ git clone https://github.com/danilomeneghel/prova-vr.git
$ cd prova-vr
```
## Maven
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).
## Docker (Opcional)
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
## Swagger
Documentação da API RESTful:
http://localhost:8080/swagger-ui.html
Login:
- Usuário: username
- Senha: password
## SonarQube
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
## Testes
Para realizar os testes, execute o seguinte comando no terminal:
```
$ cd miniautorizador
$ mvn test
```
## Screenshots
Swagger-UI


Postman

Modelagem ER

Testes Unitários

SonarQube


## Licença
Projeto licenciado sob The MIT License (MIT).
Desenvolvido por
Danilo Meneghel
danilo.meneghel@gmail.com
http://danilomeneghel.github.io/