https://github.com/danilomeneghel/prova-infuse
Cadastro de Pedidos
https://github.com/danilomeneghel/prova-infuse
api-rest docker docker-compose jakarta java21 junit maven mockito mysql spring-boot swagger-ui tdd
Last synced: about 2 months ago
JSON representation
Cadastro de Pedidos
- Host: GitHub
- URL: https://github.com/danilomeneghel/prova-infuse
- Owner: danilomeneghel
- License: mit
- Created: 2024-08-10T16:20:21.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-19T02:04:50.000Z (almost 2 years ago)
- Last Synced: 2025-04-01T21:49:27.424Z (about 1 year ago)
- Topics: api-rest, docker, docker-compose, jakarta, java21, junit, maven, mockito, mysql, spring-boot, swagger-ui, tdd
- Language: Java
- Homepage:
- Size: 812 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Prova Infuse
Avaliação técnica de uma API de Cadastro de Pedidos, desenvolvido em Java com Spring-Boot.
## Características
- API RESTful
- Validation
- MockMVC
## Requisitos
- Java JDK 21
- Apache Maven >= 3.9.8
- MySql 8
- Docker (Opcional)
## Tecnologias
- Java
- JPA
- Hibernate
- Maven
- Spring
- Lombok
- Jakarta
- XML
- JSON
- MySql
- JUnit
- Docker
## Instalação
```
$ git clone https://github.com/danilomeneghel/prova-infuse.git
$ cd prova-infuse
```
## MySql
Abra seu MySql e crie a base de dados:
prova_infuse
## Maven
Para carregar o projeto, digite no terminal:
```
$ mvn clean spring-boot:run -Dspring-boot.run.profiles=dev
```
Aguarde carregar todo o serviço web.
Após concluído, digite o endereço abaixo em seu navegador, nele será listado os pedidos
cadastrados na API.
http://localhost:8080/api/pedidos
## Docker (Opcional)
Para rodar o projeto via Docker, bastar executar o seguinte comando:
```
$ docker build -t projeto .
$ docker run -p 8080:8080 -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
```
## Importação de Arquivos
Exemplo da estrutura dos dados para importação de arquivos:
- XML
```
12345
2024-08-10
Produto A
100.00
10
1
12346
Produto B
50.00
3
2
```
- JSON
```
[
{
"numeroControle": "12345",
"dataCadastro": "2024-08-10",
"nome": "Produto A",
"valorUnitario": 100.00,
"quantidade": 10,
"codigoCliente": 1
},
{
"numeroControle": "12346",
"nome": "Produto B",
"valorUnitario": 50.00,
"quantidade": 3,
"codigoCliente": 2
}
]
```
## Swagger
Documentação da API RESTful:
http://localhost:8080/swagger-ui.html
## Testes
Para realizar os testes, execute o seguinte comando no terminal:
```
$ mvn test
```
## Licença
Projeto licenciado sob The MIT License (MIT).
Desenvolvido por
Danilo Meneghel
danilo.meneghel@gmail.com
http://danilomeneghel.github.io/