danilomeneghel / prova-alelo

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

Home Page:https://prova-alelo.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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/

About

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

https://prova-alelo.vercel.app

License:MIT License


Languages

Language:Java 96.7%Language:HTML 1.8%Language:Dockerfile 1.5%