Este é um projeto que visa avaliar competências em desenvolvimento backend com Kotlin baseado em no processo de aprendizagem do bootcamp do time da DIO e a TQI. O projeto inclui uma API em Kotlin que simula um cenário de venda de auto-atendimento.
Essas instruções fornecerão aos usuários as etapas necessárias para clonar o repositório e iniciar a aplicação em diferentes ambientes (Unix e Windows) com o perfil de teste ativado executando em um banco de dados h2.
- Clone o repositório: git clone
git@github.com/Dev-JeanSantos/tqi_kotlin_backend_developer_2023.git
- Inicie a aplicação no ambiente Unix:
./mvn spring-boot:run -Dspring-boot.run.profiles=test
- Inicie a aplicação no ambiente Windows:
mvn spring-boot:run -Dspring-boot.run.profiles=test
Para executar em desenvolvimento segue as instruções onde as etapas necessárias será clonar o repositório e iniciar a aplicação em diferentes ambientes (Unix e Windows) com o perfil de dev ativado executando em um banco de dados Mysql dockerizado.
- Clone o repositório: git clone
git@github.com/Dev-JeanSantos/tqi_kotlin_backend_developer_2023.git
- Executar o comando docker:
docker run -d -p 3306:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD=root -e MYSQL_PASSWORD=root mysql:8.0.28
- Inicie a aplicação no ambiente Unix:
./mvn spring-boot:run -Dspring-boot.run.profiles=dev
- Inicie a aplicação no ambiente Windows:
mvn spring-boot:run -Dspring-boot.run.profiles=dev
Seguem alguns links úteis:
- Documentação da API
- Collection Postman (útil pra entender todas as rotas da API)
Request
- Método:
POST
- Endpoint:
/api/v1/marketing/orders
Parâmetros do body da chamada:
{id}
: Lista dos IDs de cada item da compra.{payment}
: Formas de pagamento.
Exemplo de solicitação:
POST /api/v1/marketing/orders
Exemplo de REQUEST:
{
"items": [
{
"idItem": 1,
"idItem": 2,
"idItem": 3,
"idItem": 4
}
],
"payment": "DINHEIRO"
}
Response
- Código de resposta:
200 OK
- Corpo da resposta:
OrderResponseDTO
contendo o total da compra e o tipo do pagamento.
Exemplo de RESPONSE:
{
"totalSalePrice": 1350.00,
"payment": "PIX"
}
200 OK
: Compra efetuada com sucesso e retorna os o valor total da compra e o tipo de pagamento.422 Unprocessable Entity
: Alguns dos ids passado no body não existe na base de items do carrinho de compras.
A documentação da API pode ser encontrada no Swagger. Para visualizá-la, acesse: Documentação do Swagger.
A Solução está hospedada em produção na plataforma Heroku na seguinte URL: https://ju-marketplace-8b8b843c329f.herokuapp.com
Este projeto está licenciado sob a licença MIT. Consulte o arquivo (LICENSE) para obter.
Jean Santos |