Home - bbarrosomoreira/digital-bank-api GitHub Wiki
📘 Wiki - Banco Digital API (PT-BR | EN)
Esta wiki está disponível em português e inglês.
This wiki is available in Portuguese and English.
🇧🇷 Português
💳 Banco Digital - Projeto API Java Spring Boot
Este projeto simula um banco digital, oferecendo funcionalidades completas como abertura de contas, emissão de cartões, contratação de seguros, realização de transferências, PIX e muito mais. Tudo foi construído com Java + Spring Boot, utilizando JWT para autenticação e um banco de dados H2 com JPA para persistência.
👥 Perfis de Acesso (Roles)
ADMIN
: Representa a equipe interna do banco, com acesso completo ao sistema.CLIENTE
: Representa o cliente do banco, com acesso restrito às suas informações e ações permitidas.
📌 Funcionalidades Gerais
- Autenticação com JWT (login e registro com geração automática de token).
- Cadastro e gerenciamento de clientes.
- Abertura e manutenção de contas (Corrente, Poupança e Internacional).
- Emissão e controle de cartões (Débito e Crédito).
- Contratação e gerenciamento de seguros (Fraude e Viagem).
- Integrações com APIs externas (Receita Federal - simulada, Conversor de Moedas e BrasilAPI para CEP).
- Políticas de Taxas por categoria de cliente.
- Role-based access control para todos os endpoints.
🔧 Tecnologias Utilizadas
- Java 17+
- Spring Boot
- Maven
- JPA + H2 Database
- JWT (JSON Web Token)
- APIs externas (Receita Federal - simulada, Conversão de Moedas e BrasilAPI para CEP)
Para detalhes específicos, acesse as páginas dos controllers ao lado.
🇺🇸 English
💳 Digital Bank - Java Spring Boot API Project
This project simulates a digital bank, offering complete features such as account opening, card issuance, insurance contracting, money transfers, PIX transactions, and more. It was entirely built with Java + Spring Boot, using JWT for authentication and an H2 in-memory database with JPA for persistence.
👥 Access Roles
ADMIN
: Represents the bank's internal team, with full system access.CLIENT
: Represents the bank's customer, with limited access to their own information and allowed actions.
📌 Main Features
- JWT authentication (login and signup with automatic token generation).
- Customer registration and management.
- Account creation and management (Checking, Savings, and International).
- Card issuance and management (Debit and Credit).
- Insurance contracting and management (Fraud and Travel).
- Integrations with external APIs (simulated Federal Revenue, Currency Converter, and BrazilAPI for ZIP codes).
- Fee policies based on customer categories.
- Role-based access control for all endpoints.
🔧 Technologies Used
- Java 17+
- Spring Boot
- Maven
- JPA + H2 Database
- JWT (JSON Web Token)
- External APIs (simulated Federal Revenue, Currency Converter, and BrazilAPI for ZIP codes)
For specific details, check out the individual controller pages.