Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 (about 2 months ago)
- Default Branch: master
- Last Pushed: 2024-11-07T16:19:57.000Z (about 2 months ago)
- Last Synced: 2024-11-07T17:27:18.985Z (about 2 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: 81.1 KB
- 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/cartoesListar 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:9000Depois 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
![Screenshots](screenshots/screenshot01.png)
![Screenshots](screenshots/screenshot02.png)Postman
![Screenshots](screenshots/screenshot03.png)Modelagem ER
![Screenshots](screenshots/screenshot04.png)Testes Unitários
![Screenshots](screenshots/screenshot05.png)SonarQube
![Screenshots](screenshots/screenshot06.png)
![Screenshots](screenshots/screenshot07.png)## Licença
Projeto licenciado sob The MIT License (MIT).
Desenvolvido por
Danilo Meneghel
[email protected]
http://danilomeneghel.github.io/