API REST profissional para gerenciamento financeiro pessoal, com Java 21, Spring Boot 3, PostgreSQL, JWT, Swagger, Docker e testes.
- Cadastro, login, JWT e refresh token.
- Perfil de usuario, edicao, alteracao de senha e desativacao.
- CRUD de contas, cartoes, categorias, transacoes, metas e orcamentos.
- Despesas parceladas.
- Transferencias entre contas.
- Filtros dinamicos, paginacao e ordenacao em transacoes.
- Dashboard mensal com receitas, despesas, saldo e despesas por categoria.
- Relatorios em CSV e PDF.
- Tratamento global de excecoes e validacao Bean Validation.
- Migracoes SQL com Flyway.
- Documentacao Swagger/OpenAPI.
- CI com GitHub Actions.
- Java 21
- Spring Boot 3
- Spring Security
- Spring Data JPA / Hibernate
- PostgreSQL
- Flyway
- Maven
- Docker / Docker Compose
- JUnit 5 / Mockito
Com Docker:
docker compose up --buildSem Docker, configure um PostgreSQL local e rode:
mvn spring-boot:runVariaveis de ambiente principais:
DB_URL=jdbc:postgresql://localhost:5432/financehub
DB_USERNAME=financehub
DB_PASSWORD=financehub
JWT_SECRET=ChangeThisSecretBeforeProductionWithAtLeastThirtyTwoCharsDepois de subir a aplicacao:
- Swagger UI:
http://localhost:8080/api/swagger-ui.html - OpenAPI JSON:
http://localhost:8080/api/v3/api-docs
POST /api/auth/register- Copie o
accessToken - Envie
Authorization: Bearer <token>nos endpoints protegidos - Cadastre contas, categorias e transacoes
- Consulte
/api/dashboard?month=2026-07
mvn testsrc/main/java/com/financehub/api
├── config
├── controller
├── dto
├── entity
├── enums
├── exception
├── mapper
├── repository
├── security
├── service
└── util