https://github.com/danilomeneghel/prova-alelo
Avaliação técnica de uma API de Cadastro de Produto, desenvolvido em Java com Spring-Boot.
https://github.com/danilomeneghel/prova-alelo
api-rest java-11 jenkins junit sonarqube spring-boot swagger-ui
Last synced: 3 months ago
JSON representation
Avaliação técnica de uma API de Cadastro de Produto, desenvolvido em Java com Spring-Boot.
- Host: GitHub
- URL: https://github.com/danilomeneghel/prova-alelo
- Owner: danilomeneghel
- License: mit
- Created: 2021-04-23T20:18:25.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-02T22:45:17.000Z (almost 4 years ago)
- Last Synced: 2025-02-07T14:24:27.154Z (over 1 year ago)
- Topics: api-rest, java-11, jenkins, junit, sonarqube, spring-boot, swagger-ui
- Language: Java
- Homepage: https://prova-alelo.vercel.app
- Size: 121 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Prova Alelo
Avaliação técnica de uma API de Cadastro de Produto, desenvolvido em Java com Spring-Boot.
## Características
- CRUD
- API RESTful
- Validation
- Enum
- MockMVC
## Requisitos
- Java JDK 11
- Apache Maven >= 3.6.3 (Opcional)
- Docker (Opcional)
- Jenkins (Opcional)
## Tecnologias
- Java
- JPA
- Maven
- Spring
- Lombok
- Swagger
- H2
- JUnit
- SonarQube
- Docker
## Instalação
```
$ git clone https://github.com/danilomeneghel/prova-alelo.git
$ cd prova-alelo
```
## Maven
Para carregar o projeto, digite no terminal:
```
$ ./mvnw spring-boot:run
```
Aguarde carregar todo o serviço web.
Após concluído, digite o endereço abaixo em seu navegador, nele será listado os produtos
cadastrados na API.
http://localhost:8181/products
## Docker
Para rodar o projeto via Docker, bastar executar o seguinte comando:
```
$ docker build -t projeto .
$ docker run -p 8181:8181 -d projeto
```
Ou via Docker-Compose:
```
$ 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
```
## Swagger
Documentação da API RESTful:
http://localhost:8181/swagger-ui.html
## 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.
Feito isso, entre no container criado da api:
```
$ docker exec -it api-alelo bash
```
Execute o seguinte comando do sonar:
```
$ mvn clean verify sonar:sonar -Dsonar.projectKey=NOME_PROJETO_GERADO -Dsonar.host.url=http://sonarqube-latest:9000 -Dsonar.login=TOKEN_GERADO
```
Após executado, acesse o seguinte endereço:
http://localhost:9000/dashboard?id=prova-alelo
## Jenkins
Instale o Jenkins.
Acesse e crie um novo Job do tipo Pipeline, escolha "Pipeline script from SCM", em seguida Git e adicione a url do projeto Git com o arquivo Jenkinsfile marcado.
Depois clique em Construir (build) para carregar a aplicação.
## Testes
Para realizar os testes, execute o seguinte comando no terminal:
```
$ ./mvnw test
```
## Licença
Projeto licenciado sob The MIT License (MIT).
Desenvolvido por
Danilo Meneghel
danilo.meneghel@gmail.com
http://danilomeneghel.github.io/