API REST para sistema de gestão financeira multi-tenant com Spring Boot
Sistema robusto de gestão financeira pessoal com arquitetura multi-tenant, autenticação JWT, isolamento de dados por tenant e recursos avançados de análise financeira.
- 🏢 Multi-tenant: Isolamento completo de dados por tenant/domínio
- 🔐 Autenticação JWT: Tokens seguros com claims de tenant
- 💳 Gestão Financeira: Receitas, despesas, cartões, faturas e parcelamentos
- 📊 Analytics: Dashboard com métricas e gráficos financeiros
- 📧 Sistema de Email: Notificações e recuperação de senha
- 🔄 Migração de Schema: Flyway para versionamento de banco
- 📱 API RESTful: Endpoints documentados com Swagger/OpenAPI
- ⚡ Performance: Connection pooling (HikariCP) e otimizações JPA
- Docker
- Docker Compose
- PostgreSQL (em produção, o banco deve ser externo)
-
Suba o banco de dados e dependências:
docker-compose up
-
Rode a aplicação localmente (via IDE ou Maven):
./mvnw spring-boot:run
-
Configure as variáveis de ambiente do banco de dados:
SPRING_DATASOURCE_URLSPRING_DATASOURCE_USERNAMESPRING_DATASOURCE_PASSWORD
-
Faça o build e execute a aplicação com Docker Compose:
docker-compose -f docker-compose.prod.yml up --build
A aplicação estará disponível em http://localhost:8080
- O perfil de produção utiliza o arquivo
application-prod.properties. - O schema do banco é validado na inicialização (
spring.jpa.hibernate.ddl-auto=validate).
src/main/java— Código-fonte Javasrc/main/resources— Configurações e migrationsDockerfile— Build da aplicação em containerdocker-compose.yml— Ambiente de desenvolvimentodocker-compose.prod.yml— Ambiente de produção
MIT