Aplicação fullstack end-to-end demonstrando capacidade de construir sistemas financeiros completos — do backend seguro com Java 21 ao frontend React com dashboard em tempo real. Este projeto existe para mostrar integração entre todas as camadas de um sistema fintech real.
Desenvolvedores fullstack em fintech precisam dominar segurança (OAuth2, JWT), consistência de dados (transações), performance (Redis, cache) e UX de dashboard financeiro. Este projeto cobre todos esses aspectos em um sistema coeso, não em exemplos isolados.
| Camada | Tecnologia |
|---|---|
| Backend | Java 21, Spring Boot 3.2 |
| Segurança | Spring Security, OAuth2, JWT |
| Banco de Dados | PostgreSQL 16 (transações ACID) |
| Cache | Redis 7 (sessões, rate limiting, idempotência) |
| Frontend | React 18, TypeScript, TailwindCSS |
| Build Frontend | Vite 5 |
| Containerização | Docker, Docker Compose |
| API Docs | OpenAPI 3 (Swagger UI) |
src/
domain/
model/ # Entidades (Payment, Account, Transaction)
port/ # Interfaces (repositories, services)
exception/ # Exceções de domínio
application/
usecase/ # Casos de uso (ProcessPayment, GetStatement)
dto/ # Request/Response DTOs
service/ # Application services
infrastructure/
persistence/ # JPA repositories, entidades ORM
cache/ # Redis adapters
security/ # JWT provider, OAuth2 config
http/ # Clientes HTTP externos (gateway de pagamento)
presentation/
controller/ # REST controllers
advice/ # Exception handlers globais
┌──────────────────────────────────────────────────────────────┐
│ React 18 SPA (TypeScript + Vite) │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌───────────────────┐ │
│ │ Login/OAuth │ │ Dashboard │ │ Pagamentos │ │
│ │ (PKCE Flow) │ │ Tempo Real │ │ (transferência, │ │
│ └──────────────┘ │ (SSE/WS) │ │ histórico) │ │
│ └──────────────┘ └───────────────────┘ │
└──────────────────────────┬───────────────────────────────────┘
│ HTTPS + JWT Bearer Token
▼
┌──────────────────────────────────────────────────────────────┐
│ Spring Boot 3 (Java 21) — Port 8080 │
│ │
│ ┌─────────────────┐ ┌──────────────────────────────────┐ │
│ │ Security Layer │ │ REST API │ │
│ │ OAuth2 Resource │ │ /api/v1/payments │ │
│ │ Server + JWT │ │ /api/v1/accounts │ │
│ └─────────────────┘ │ /api/v1/transactions │ │
│ └──────────────┬───────────────────┘ │
│ ┌───────────────────────────────────────▼─────────────────┐ │
│ │ Application Layer │ │
│ │ ProcessPaymentUseCase GetStatementUseCase │ │
│ │ TransferFundsUseCase FraudCheckService │ │
│ └───────────────────────────────────────────────────────── │
└──────────────┬─────────────────────────┬────────────────────┘
│ │
▼ ▼
┌───────────────────┐ ┌──────────────────────┐
│ PostgreSQL 16 │ │ Redis 7 │
│ │ │ │
│ payments │ │ jwt_blacklist │
│ accounts │ │ rate_limit::{userId} │
│ transactions │ │ idempotency::{key} │
│ audit_log │ │ session::{token} │
└───────────────────┘ └──────────────────────┘
- Pagamentos: transferências entre contas com controle de idempotência (chave única por operação via Redis)
- Dashboard em Tempo Real: saldo, últimas transações e alertas via Server-Sent Events
- Autenticação OAuth2: fluxo Authorization Code + PKCE para o SPA; Resource Server com JWT no backend
- Rate Limiting: proteção por usuário/IP com Redis e respostas HTTP 429 padronizadas
- API REST Completa: documentação OpenAPI 3, versionamento
/v1/, respostas padronizadas com Problem Details (RFC 7807) - Auditoria: log imutável de todas as operações financeiras com timestamp e usuário responsável
- Docker e Docker Compose
- Java 21+ e Maven
- Node 20+
git clone https://github.com/LucasGeek/fullstack-fintech-app.git
cd fullstack-fintech-app
# PostgreSQL + Redis
docker compose up -d postgres redis
# Verificar
docker compose pscd backend
# Rodar migrations (Flyway integrado)
./mvnw spring-boot:run -Dspring-boot.run.profiles=localcd frontend
npm install
npm run dev| Serviço | URL |
|---|---|
| Frontend (React) | http://localhost:5173 |
| Backend API | http://localhost:8080/api/v1 |
| Swagger UI | http://localhost:8080/swagger-ui.html |
Email: demo@fintech.local
Senha: Demo@1234
# Backend (unit + integration)
cd backend && ./mvnw test
# Frontend
cd frontend && npm test- ARCHITECTURE.md — diagramas C4 e decisões de design
docs/— documentação adicional de API e operação
MIT