Skip to content

Dev-JeanSantos/tqi_kotlin_backend_developer_2023

Repository files navigation

TQI Backend Kotlin Developer 2023

Web 1

TQI Backend Kotlin Challenge

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.

Web 2

Modelo conceitual

Modelo Conceitual

Configuração

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.

  1. Clone o repositório: git clone git@github.com/Dev-JeanSantos/tqi_kotlin_backend_developer_2023.git
  2. Inicie a aplicação no ambiente Unix: ./mvn spring-boot:run -Dspring-boot.run.profiles=test
  3. 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.

  1. Clone o repositório: git clone git@github.com/Dev-JeanSantos/tqi_kotlin_backend_developer_2023.git
  2. 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
  3. Inicie a aplicação no ambiente Unix: ./mvn spring-boot:run -Dspring-boot.run.profiles=dev
  4. Inicie a aplicação no ambiente Windows: mvn spring-boot:run -Dspring-boot.run.profiles=dev

Seguem alguns links úteis:

  1. Documentação da API
  2. Collection Postman (útil pra entender todas as rotas da API)

Uso da API

Request

Finalizar uma compra:

  • 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"
}

Códigos de resposta possíveis:

  • 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.

Documentação do Swagger

A documentação da API pode ser encontrada no Swagger. Para visualizá-la, acesse: Documentação do Swagger.

Hospedagem no Heroku

A Solução está hospedada em produção na plataforma Heroku na seguinte URL: https://ju-marketplace-8b8b843c329f.herokuapp.com

Licença

Este projeto está licenciado sob a licença MIT. Consulte o arquivo (LICENSE) para obter.

Autor


Jean Santos

LinkedIn

About

Desafio Backend Kotlin da TQI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published