Skip to content

Este repositório contém o desenvolvimento de uma API REST para um sistema de banco digital, construído em Java com Spring Boot. O projeto está em andamento e serve como um ambiente de aprendizado prático e aprofundado em desenvolvimento backend.

Notifications You must be signed in to change notification settings

jeffmmartins/bank-digital-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 

Repository files navigation

🏦 Digital Bank API

Java 17 Spring Boot 3.2.5 H2 Database Swagger License MIT

📖 Sobre o Projeto

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.

✨ Status Atual

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.

🚀 Funcionalidades Implementadas

  • 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 DataLoader popula o banco H2 com clientes e contas pré-definidos para facilitar testes.

🛠️ Stack Tecnológica

Esta API utiliza um conjunto moderno de tecnologias do ecossistema Spring:

⚙️ Como Executar (Ambiente de Desenvolvimento)

Para executar este projeto localmente, siga os passos abaixo.

Pré-requisitos

  • Java JDK 17 (ou superior, mas configurado para compilar em Java 17)
  • Apache Maven
  • Sua IDE favorita (ex: IntelliJ IDEA, VSCode com Java Pack)

Passos

  1. Clone o repositório:

    git clone [https://github.com/jeffmmartins/digital-bank.git](https://github.com/jeffmmartins/digital-bank.git)
    cd digital-bank
  2. 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 Structure no IntelliJ).
  • Localize a classe DigitalBankApiApplication.java e execute-a.
  1. Execute o projeto (via Terminal):
    mvn spring-boot:run

Acessando os Recursos

Após iniciar a aplicação, você pode acessar os seguintes serviços:

👨‍💻 Autor

Feito por Jefferson Martins.

  • GitHub: @jeffmmartins
  • LinkedIn: https://www.linkedin.com/in/jefferson-martins-mendes/overlay/background-image/

About

Este repositório contém o desenvolvimento de uma API REST para um sistema de banco digital, construído em Java com Spring Boot. O projeto está em andamento e serve como um ambiente de aprendizado prático e aprofundado em desenvolvimento backend.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages