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.
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
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
- Cadastro de usuário
- Login com validação
- Confirmação de conta via email
- Sessão distribuída com Redis
- Upload de extratos via multipart file (imagem)
- Processamento automático com IA
- Listagem de transações
- Categorização automática de gastos
- Agrupamento por categorias
- Visualização consolidada dos dados
- Java 21
- Spring Boot
- Microsserviços (Auth, User, Extrato)
- Comunicação via OpenFeign
- Gemini API
- Spring Session
- Redis
- Interceptação com Spring AOP
- H2 (ambiente de desenvolvimento)
O sistema foi dividido em três serviços principais:
Responsável por:
- autenticação
- login
- validações de acesso
Responsável por:
- gerenciamento de usuários
- regras de domínio do usuário
Responsável por:
- processamento dos extratos
- integração com IA
- categorização dos dados
Os serviços se comunicam utilizando:
- OpenFeign para chamadas HTTP internas
- Centralização de validações no serviço de autenticação
- Arquitetura inspirada em DDD
- Separação em camadas: Application, Domain e Infra
- Padronização de erros com ProblemDetail (RFC 7807)
- Backend desacoplado do frontend
- 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
O frontend foi desenvolvido de forma desacoplada, consumindo a API.
- Usuário realiza cadastro
- Recebe email de confirmação
- Confirma conta via link
- Acesso liberado ao sistema
- Faça login na plataforma
- Envie uma imagem do extrato bancário
- Aguarde o processamento com IA
- Visualize seus gastos categorizados automaticamente
- 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