O Digital Bank API é um projeto de backend focado em simular as operações essenciais de um banco digital. Esta API RESTful foi construída com Java 17 e Spring Boot 3, seguindo as melhores práticas de desenvolvimento, como arquitetura em camadas (Controller, Service, Repository) e uso de DTOs para validação e tráfego de dados.
O objetivo deste projeto é solidificar conceitos de desenvolvimento de APIs seguras, robustas e escaláveis, prontas para o mercado.
Em pleno desenvolvimento!
Recentemente, superei um desafio de configuração de ambiente (ExceptionInInitializerError) relacionado à incompatibilidade entre as versões do JDK (17 vs 24) e o Lombok, demonstrando capacidade de depuração e resolução de problemas complexos de build.
- Gestão de Clientes:
POST /api/clientes: Cadastro de novos clientes (Validado ✅).GET /api/clientes: Listagem de todos os clientes.GET /api/clientes/{id}: Busca de cliente por ID.PUT /api/clientes/{id}: Atualização de dados cadastrais.DELETE /api/clientes/{id}: Exclusão de cliente.
- Gestão de Contas:
GET /api/contas: Listagem de todas as contas.GET /api/contas/{id}: Busca de conta por ID.GET /api/contas/cliente/{clienteId}: Busca de contas por ID do cliente.
- Operações Bancárias:
POST /api/transacoes/deposito: Realiza um depósito em uma conta.POST /api/transacoes/saque: Realiza um saque, validando o saldo disponível.
- Dados Iniciais (Seed):
- Um
DataLoaderpopula o banco H2 com clientes e contas pré-definidos para facilitar testes.
- Um
Esta API utiliza um conjunto moderno de tecnologias do ecossistema Spring:
- Core: Java 17 & Spring Boot 3.2.5
- Persistência de Dados: Spring Data JPA & Hibernate
- Banco de Dados (Desenvolvimento): H2 Database (em memória)
- API & Web: Spring Web
- Validação: Spring Boot Starter Validation (para validação de DTOs)
- Documentação da API: SpringDoc (OpenAPI 3) (para geração automática do Swagger UI)
- Utils: Lombok (para redução de código boilerplate)
- Build: Apache Maven
Para executar este projeto localmente, siga os passos abaixo.
- Java JDK 17 (ou superior, mas configurado para compilar em Java 17)
- Apache Maven
- Sua IDE favorita (ex: IntelliJ IDEA, VSCode com Java Pack)
-
Clone o repositório:
git clone [https://github.com/jeffmmartins/digital-bank.git](https://github.com/jeffmmartins/digital-bank.git) cd digital-bank -
Execute o projeto (via IDE):
- Importe o projeto como um "Existing Maven Project".
- Certifique-se que a IDE está usando o JDK 17 (veja
File > Project Structureno IntelliJ). - Localize a classe
DigitalBankApiApplication.javae execute-a.
- Execute o projeto (via Terminal):
mvn spring-boot:run
Após iniciar a aplicação, você pode acessar os seguintes serviços:
-
📄 Documentação Swagger (API): http://localhost:8080/swagger-ui/index.html
-
🗃️ Console do Banco H2: http://localhost:8080/h2-console
- JDBC URL:
jdbc:h2:mem:digitalbank - User Name:
sa - Password: (deixe em branco)
- JDBC URL:
Feito por Jefferson Martins.
- GitHub: @jeffmmartins
- LinkedIn:
https://www.linkedin.com/in/jefferson-martins-mendes/overlay/background-image/