Skip to content

About

API REST desenvolvida em Java + Spring Boot para controle de transações financeiras pessoais, permitindo cadastro, listagem, filtro por categoria e geração de resumo financeiro.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

💰 APP FINANCEIRO — Controle Financeiro Pessoal

API REST desenvolvida em Java + Spring Boot para controle de transações financeiras pessoais, permitindo cadastro, listagem, filtro por categoria e geração de resumo financeiro.


🚀 Tecnologias Utilizadas

  • Java 17
  • Spring Boot
  • Spring Data JPA
  • Hibernate
  • Lombok
  • MySQL / PostgreSQL (ou qualquer banco compatível com JPA)
  • Maven

🧱 Arquitetura do Projeto

O projeto segue uma arquitetura em camadas:

  • Controller → Recebe requisições HTTP
  • Service → Contém regras de negócio
  • Repository → Comunicação com o banco de dados
  • Entity → Representação das tabelas
  • DTO → Transporte de dados entre camadas

📦 Entidades e DTOs

🔹 LancamentoEntity

Representa uma transação financeira no banco de dados.

Campos:

  • id (Long)
  • descricao (String)
  • valor (Double)
  • categoria (Enum)
  • tipo (ENTRADA / SAIDA)

🔹 LancamentoDTO

Usado para transportar dados da transação entre camadas e para o cliente.

Campos:

  • descricao
  • valor
  • categoria
  • tipo

🔹 ResumoFinanceiroDTO

DTO responsável por retornar dados consolidados.

Campos:

  • totalEntrada
  • totalSaida
  • saldo

🧩 Enums

Categoria

  • DESPESAS
  • LAZER
  • SALARIO
  • ASSINATURAS
  • URGENCIA
  • SAIDA

TipoLancamento

  • ENTRADA
  • SAIDA

📡 Endpoints da API

🔹 Listar todas as transações

GET /transacoes

Retorna todas as transações cadastradas.


🔹 Criar uma nova transação

POST /transacoes

Body (JSON):

{
  "descricao": "Salário",
  "valor": 5000,
  "categoria": "SALARIO",
  "tipo": "ENTRADA"
}

🔹 Filtrar transações por categoria

GET /transacoes/filtro?categoria=LAZER


🔹 Excluir uma transação

DELETE /transacoes/{id}


🔹 Obter resumo financeiro

GET /transacoes/resumo

Resposta:

{
  "totalEntrada": 5000,
  "totalSaida": 1200,
  "saldo": 3800
}

🧠 Regras de Negócio

  • Transações são separadas por tipo: ENTRADA ou SAIDA
  • O resumo financeiro é calculado com base nas somas do banco
  • Caso não existam registros, os valores retornam 0.0

▶️ Como Executar o Projeto

  1. Clone o repositório
  2. Configure o application.properties
  3. Rode a aplicação:
mvn spring-boot:run
  1. Acesse:
http://localhost:8080/transacoes

📌 Observações

  • Projeto ideal para estudo de CRUD com Spring Boot
  • Estrutura pronta para expansão (auth, usuários, relatórios)
  • Código organizado e seguindo boas práticas

👨‍💻 Autor

Gustavo Rodrigues

About

API REST desenvolvida em Java + Spring Boot para controle de transações financeiras pessoais, permitindo cadastro, listagem, filtro por categoria e geração de resumo financeiro.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages