Este repositório contém boilerplates em diferentes linguagens para auxiliar candidatos na implementação do teste técnico.
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.
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 atualizadostatus: Status do pedido (SHIPPED, IN_TRANSIT, DELIVERED ou FAILURE)date: Data do recebimento do evento, em formato ISO
- Todos os eventos da lista devem ser processados
- Em caso de um mesmo
order_idpossuir mais de 1 evento na lista, devemos processar apenas o mais recente (baseado na data) - 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
Este repositório contém boilerplates para as seguintes linguagens:
- Java - Spring Boot
- Python - FastAPI
- JavaScript/Node.js - Express
- Go - Gin
.
├── java/ # Boilerplate Java
├── python/ # Boilerplate Python
├── javascript/ # Boilerplate JavaScript/Node.js
├── go/ # Boilerplate Go
└── README.md # Este arquivo
- Escolha a linguagem de sua preferência
- Entre na pasta correspondente
- Siga as instruções no README específico da linguagem
- Implemente a lógica de processamento dos eventos
- 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