Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💸 ContaFácil APP

Sistema inteligente para análise e categorização de extratos bancários com IA, construído com Java, Spring Boot e arquitetura baseada em microsserviços.

Java Spring Boot Redis OpenFeign Gemini


📌 Sobre o projeto

O ContaFácil é um sistema que utiliza Inteligência Artificial para transformar extratos bancários confusos em informações claras e organizadas.

A proposta é simples:

📉 Extratos bancários são difíceis de entender
📊 O ContaFácil organiza automaticamente seus gastos

O usuário pode enviar uma imagem do extrato, e o sistema:

  • processa os dados
  • interpreta as descrições
  • categoriza automaticamente os gastos

🧠 Diferencial do projeto

O principal diferencial está na integração com IA (Gemini), responsável por:

  • interpretar descrições ambíguas
  • classificar gastos automaticamente
  • reduzir esforço manual do usuário

🚀 Funcionalidades

👤 Usuário & Autenticação

  • Cadastro de usuário
  • Login com validação
  • Confirmação de conta via email
  • Sessão distribuída com Redis

📄 Extratos

  • Upload de extratos via multipart file (imagem)
  • Processamento automático com IA
  • Listagem de transações

📊 Organização Financeira

  • Categorização automática de gastos
  • Agrupamento por categorias
  • Visualização consolidada dos dados

🛠️ Stack de Tecnologias

Linguagem

  • Java 21

Framework

  • Spring Boot

Arquitetura

  • Microsserviços (Auth, User, Extrato)
  • Comunicação via OpenFeign

Inteligência Artificial

  • Gemini API

Segurança

  • Spring Session
  • Redis
  • Interceptação com Spring AOP

Banco de Dados

  • H2 (ambiente de desenvolvimento)

🏗️ Arquitetura

O sistema foi dividido em três serviços principais:

🔐 Auth Service

Responsável por:

  • autenticação
  • login
  • validações de acesso

👤 User Service

Responsável por:

  • gerenciamento de usuários
  • regras de domínio do usuário

📄 Extrato Service

Responsável por:

  • processamento dos extratos
  • integração com IA
  • categorização dos dados

🔗 Comunicação entre serviços

Os serviços se comunicam utilizando:

  • OpenFeign para chamadas HTTP internas
  • Centralização de validações no serviço de autenticação

⚙️ Decisões de Engenharia

  • Arquitetura inspirada em DDD
  • Separação em camadas: Application, Domain e Infra
  • Padronização de erros com ProblemDetail (RFC 7807)
  • Backend desacoplado do frontend

🔮 Próximas evoluções

  • Dashboard com gráficos avançados
  • Histórico financeiro mensal
  • Suporte a múltiplas contas bancárias
  • Exportação de relatórios
  • Deploy em ambiente cloud

🖥️ Frontend

O frontend foi desenvolvido de forma desacoplada, consumindo a API.


📩 Fluxo de cadastro

  1. Usuário realiza cadastro
  2. Recebe email de confirmação
  3. Confirma conta via link
  4. Acesso liberado ao sistema

📷 Como usar

  1. Faça login na plataforma
  2. Envie uma imagem do extrato bancário
  3. Aguarde o processamento com IA
  4. Visualize seus gastos categorizados automaticamente

💡 Aprendizados

  • Construção de arquitetura distribuída
  • Integração com IA em aplicações reais
  • Boas práticas com Spring Boot
  • Organização de código baseada em DDD

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages