Skip to content

andre-dev-2021/desafio-itau-backend

Repository files navigation

Desafio Itaú Backend

TypeScript NestJS

Este é um projeto backend desenvolvido em NestJS para o desafio proposto pelo Itaú. A API permite o registro de transações financeiras fictícias e fornece estatísticas sobre essas transações.

Funcionalidades

  • Registro de Transações: Permite registrar transações com valor e data/hora.
  • Validação: Não aceita valores negativos, datas futuras ou requisições fora do formato.
  • Estatísticas: Calcula estatísticas das transações do último minuto (ou período personalizado).
  • Limpeza de Dados: Permite apagar todos os registros de transações.

Tecnologias Utilizadas

  • NestJS: Framework para aplicações backend.
  • TypeScript: Linguagem de programação utilizada.
  • Swagger: Documentação interativa da API.
  • Jest: Framework para testes unitários.

Pré-requisitos

  • Node.js (versão 18 ou superior)
  • npm ou yarn

Instalação

  1. Clone o repositório:
git clone https://github.com/andre-dev-2021/desafio-itau-backend.git
cd desafio-itau-backend
  1. Instale as dependências:
npm install

Executando a Aplicação

npm run start

A aplicação estará rodando em http://localhost:3000.

Documentação da API

A documentação interativa da API está disponível via Swagger em: Documentação da API

Endpoints

POST /transacao

Registra uma nova transação.

Corpo da requisição:

{
  "valor": 100.50,
  "dataHora": "2023-12-01T10:30:00.000Z"
}

Respostas:

  • 201: A transação foi registrada com sucesso!
  • 422: Dados inválidos! (valor negativo e/ou data/hora futura).
  • 400: Requisição no formato incorreto.

DELETE /transacao

Apaga todos os registros de transações.

Resposta:

  • 200: Registros apagados com sucesso

GET /estatistica

Retorna estatísticas das transações.

Parâmetros de query (opcionais):

  • seg: Período em segundos para filtrar as transações (padrão: 60 segundos)

Resposta:

{
  "count": 10,
  "sum": 1500.00,
  "avg": 150.00,
  "min": 50.00,
  "max": 300.00
}

Testes

Para executar os testes unitários utilize:

npm run test

Licença

Este projeto está sob a licença MIT.

About

Desafio de desenvolvimento backend - Itaú Unibanco

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors