Skip to content

Latest commit

 

History

History
65 lines (45 loc) · 2.07 KB

File metadata and controls

65 lines (45 loc) · 2.07 KB

Intelitest - Boilerplates para Teste Técnico

Este repositório contém boilerplates em diferentes linguagens para auxiliar candidatos na implementação do teste técnico.

📋 Descrição do Problema

Você precisará desenvolver um endpoint em uma API que recebe uma lista de eventos que devem ser atualizados em pedidos que constam num banco de dados.

Estrutura do Evento

Cada evento possui a seguinte estrutura:

{
  "order_id": 1,
  "status": "SHIPPED",
  "date": "2025-10-15T11:22:17.717Z"
}

Campos:

  • order_id: ID do pedido que deve ser atualizado
  • status: Status do pedido (SHIPPED, IN_TRANSIT, DELIVERED ou FAILURE)
  • date: Data do recebimento do evento, em formato ISO

Regras de Negócio

  1. Todos os eventos da lista devem ser processados
  2. Em caso de um mesmo order_id possuir mais de 1 evento na lista, devemos processar apenas o mais recente (baseado na data)
  3. Caso o pedido esteja com status finalizador (DELIVERED, FAILURE) no banco de dados, não podemos alterar o status do pedido para um status não finalizador

🚀 Linguagens Disponíveis

Este repositório contém boilerplates para as seguintes linguagens:

📁 Estrutura do Repositório

.
├── java/            # Boilerplate Java
├── python/          # Boilerplate Python
├── javascript/      # Boilerplate JavaScript/Node.js
├── go/              # Boilerplate Go
└── README.md        # Este arquivo

🎯 Como Usar

  1. Escolha a linguagem de sua preferência
  2. Entre na pasta correspondente
  3. Siga as instruções no README específico da linguagem
  4. Implemente a lógica de processamento dos eventos

📝 Notas

  • Não é necessário construir toda a estrutura do projeto e nem executá-lo
  • Você pode utilizar qualquer linguagem de programação que desejar
  • Os boilerplates fornecem apenas a estrutura básica - você deve implementar a lógica de negócio