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

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

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/