Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: about 22 hours ago
JSON representation

Avaliação técnica de uma API de Cadastro de Produto, desenvolvido em Java com Spring-Boot.

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

[email protected]

http://danilomeneghel.github.io/