Sistema web completo para análise e detecção de transações financeiras suspeitas
🚀 Demonstração • 📋 Funcionalidades • ⚙️ Instalação • 🤝 Contato
Sistema web desenvolvido com Spring MVC para análise automatizada de milhares de transações financeiras, identificando operações e contas bancárias suspeitas através de algoritmos de validação e persistência de dados.
A aplicação implementa autenticação segura, upload de arquivos CSV, validação de dados, análise preditiva e geração de relatórios, seguindo as melhores práticas de desenvolvimento com SOLID, Design Patterns e Clean Code.
Instituições financeiras precisam analisar milhares de transações diárias para identificar operações suspeitas de lavagem de dinheiro ou fraudes. Este sistema automatiza:
- ✅ Importação massiva de transações via CSV
- ✅ Validação automática de dados segundo regras de negócio
- ✅ Detecção de transações individuais acima de R$ 100.000,00
- ✅ Identificação de contas com movimentação mensal superior a R$ 1.000.000,00
- ✅ Auditoria completa com registro de usuário e timestamp
- ✅ Interface intuitiva para análise de dados
- ✅ Sistema de login com Spring Security
- ✅ Proteção de rotas (apenas
/login,/cadastroe/h2são públicos) - ✅ Senha criptografada com BCrypt
- ✅ Sessão persistente até logout explícito
- ✅ Cadastro de novos usuários com validação de email único
- ✅ Upload de arquivos CSV com validação rigorosa
- ✅ Detecção automática da data de referência
- ✅ Validação de campos obrigatórios
- ✅ Prevenção de importações duplicadas
- ✅ Filtro automático de transações de outras datas
- ✅ Registro de usuário e timestamp da importação
- ✅ Detecção de transações ≥ R$ 100.000,00
- ✅ Identificação de contas com movimentação mensal > R$ 1.000.000,00
- ✅ Filtro por período (mês/ano)
- ✅ Visualização detalhada de transações importadas
- ✅ Listagem ordenada por data (decrescente)
- ✅ Design responsivo com Bootstrap 5
- ✅ Templates modernos com Thymeleaf
- ✅ Modais interativos para feedback
- ✅ Páginas de erro customizadas
- ✅ Badges e ícones informativos
| Categoria | Tecnologias |
|---|---|
| Backend | Java 17 • Spring Boot 2.7.5 • Spring Security 5.7 • Spring Data JPA • Bean Validation • Lombok |
| Frontend | Thymeleaf • Bootstrap 5 • HTML5 • CSS3 • JavaScript |
| Banco de Dados | H2 Database (in-memory) • SQL |
| Testes | Selenium • JUnit |
| Ferramentas | IntelliJ IDEA • Maven • Git |
- Java 17+
- Maven 3.6+
- IDE (IntelliJ IDEA recomendado)
1. Clone o repositório
git clone https://github.com/Rafael-Bessa/financial-fraud-detector.git
cd financial-fraud-detector2. Configure o banco de dados
O projeto usa H2 in-memory. As configurações estão em application.properties:
spring.datasource.url=jdbc:h2:mem:financeiro
spring.h2.console.enabled=true
spring.h2.console.path=/h23. Execute a aplicação
mvn spring-boot:run4. Acesse no navegador
http://localhost:8080| Senha | Role | |
|---|---|---|
| rafael@teste.com | abc | USER |
| bessa@email.com | abc | USER |
BANCO_ORIGEM, AGENCIA_ORIGEM, CONTA_ORIGEM, BANCO_DESTINO, AGENCIA_DESTINO, CONTA_DESTINO, VALOR, DATA_HORA
BANCO SANTANDER,0001,00002-1,BANCO BRADESCO,0001,00001-1,79800.22,2022-01-01T08:44:00
- Arquivo não pode estar vazio
- Primeira linha define a data de referência do lote
- Transações de outras datas são ignoradas
- Todos os campos são obrigatórios
- Não permite importações duplicadas (mesma data)
- Registra usuário e timestamp da operação
| Tipo | Critério |
|---|---|
| 🚨 Transação Suspeita | Valor ≥ R$ 100.000,00 |
| 🏦 Conta Suspeita | Movimentação mensal (entrada OU saída) > R$ 1.000.000,00 |
- ✅ MVC Pattern (Model-View-Controller)
- ✅ DTO Pattern (Data Transfer Object)
- ✅ Repository Pattern (Spring Data JPA)
- ✅ Service Layer (Lógica de Negócio)
- ✅ Dependency Injection (IoC Container)
- ✅ Bean Validation (Validação de Dados)
- ✅ EntityGraph (Performance JPA)
- ✅ Exception Handling (Páginas customizadas)
- ✅ Security (Spring Security)
- ✅ SOLID Principles
Cobertura:
- ✅ Login de usuários válidos
- ✅ Rejeição de credenciais inválidas
- ✅ Proteção de rotas autenticadas
- Dashboard com gráficos (Chart.js)
- Exportação de relatórios em PDF/Excel
- API REST para integração externa
- Notificações por email de transações suspeitas
- Auditoria completa (log de ações)
- Filtros avançados de busca
- Paginação de resultados
- Migração para PostgreSQL em produção
- Docker + Docker Compose
- CI/CD (GitHub Actions)
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Se este projeto foi útil para você, considere dar uma ⭐ no repositório!
Desenvolvido com 💜 por Rafael Bessa
