Skip to content

Desafio do banco itaú com Spring Boot criação de uma API REST que recebe transações e retorna Estatísticas sob essas transações.

Notifications You must be signed in to change notification settings

ddouglss/desafio-spring-itau-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 desafio-itau-backend

Desafio técnico proposto pelo Itaú Unibanco para avaliação de habilidades em desenvolvimento e engenharia de software.
Este projeto consiste em uma API REST construída com Spring Boot para registrar transações e calcular estatísticas dos últimos 60 segundos, com armazenamento em memória e sem uso de banco de dados.


📌 Tecnologias Utilizadas

  • Java 17
  • Spring Boot
  • API REST
  • Java Time API (OffsetDateTime)
  • DoubleSummaryStatistics
  • Concurrent Collections (ConcurrentLinkedDeque)
  • Validação com Bean Validation
  • Lombok
  • JUnit (testes)
  • Maven

📦 Funcionalidades da API

POST /transacao

Registra uma nova transação com valor e dataHora.

📥 Request Body (JSON)

{
  "valor": 123.45,
  "dataHora": "2025-06-22T03:20:00Z"
}

✅ Regras de validação

valor deve ser maior ou igual a 0

dataHora não pode estar no futuro

valor e dataHora são obrigatórios

📤 Respostas

201 Created – Transação registrada com sucesso

422 Unprocessable Entity – Transação inválida

400 Bad Request – JSON inválido

🗑️ DELETE /transacao

Remove todas as transações armazenadas na memória.

📤 Resposta

200 OK – Todas as transações foram apagadas com sucesso

📊 GET /estatistica

Retorna estatísticas das transações ocorridas nos últimos 60 segundos.

📤 Response Body (JSON)

{
  "count": 5,
  "sum": 250.00,
  "avg": 50.00,
  "min": 20.00,
  "max": 80.00
}

Se nenhuma transação for registrada nos últimos 60 segundos, os valores retornados são todos 0.

📝 Como rodar localmente

  1. Clone o repositório
git clone https://github.com/seu-usuario/desafio-itau-backend.git
cd desafio-itau-backend
  1. Compile e execute
Copiar
Editar
./mvnw spring-boot:run
  1. Acesse a API
Copiar
Editar
http://localhost:8080/

📬 Contato

Desenvolvido por

Douglas Muniz

About

Desafio do banco itaú com Spring Boot criação de uma API REST que recebe transações e retorna Estatísticas sob essas transações.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages