Sistema bancário em Java para controle de contas, carteiras e investimentos. Permite criar contas, realizar transferências, investir, consultar saldo e histórico de operações. Focado em boas práticas de POO, tratamento de exceções e arquitetura modular.
- Visão Geral do Projeto
- Estrutura de Diretórios
- Destaques & Funcionalidades
- Tecnologias Utilizadas
- Pré-requisitos
- Instalação
- Como Usar
- Validação e Tratamento de Erros
- API/Funcionalidades Avançadas
- Contribuição
- Licença
- Autora
Sistema bancário orientado a objetos, com suporte a múltiplas carteiras, contas e investimentos. Demonstra encapsulamento, herança, polimorfismo, tratamento de exceções customizadas e persistência em memória. Público-alvo: estudantes e desenvolvedores interessados em arquitetura Java e POO.
📦 java-bank/
├── src/
│ └── main/
│ └── java/
│ └── br/com/dio/
│ ├── Main.java # Ponto de entrada do sistema
│ ├── exception/ # Exceções customizadas
│ ├── model/ # Modelos de domínio (Conta, Carteira, Investimento)
│ └── repository/ # Repositórios de dados
├── build.gradle.kts # Configuração do Gradle
├── README.md # Documentação
└── ...- Criação, consulta e remoção de contas e carteiras
- Transferências entre contas
- Investimentos e auditoria de operações
- Benefícios: organização financeira, histórico detalhado
- Utiliza: Java, Gradle, POO
- Estrutura modular e clara
- Código bem comentado e organizado
- Foco em usabilidade via linha de comando
- Suporte multiplataforma (Windows, Linux, Mac)
- Projeto console, sem interface gráfica
- Validação de saldo, existência de contas/carteiras
- Tratamento de exceções customizadas
- Segurança básica via encapsulamento
- Mensagens claras de erro e sucesso
- Operações rápidas e intuitivas
- Java: Lógica principal, POO, exceções
- Gradle: Gerenciamento de dependências e build
Ambiente de desenvolvimento:
- Java 11+
- Gradle 7+
# 1. Clone este repositório
$ git clone https://github.com/emellybmuniz/java-bank.git
# 2. Navegue até o diretório do projeto
$ cd java-bank
# 3. Compile o projeto
$ gradlew build
# 4. Execute o sistema
$ gradlew run- Execute o sistema via terminal
- Siga o menu interativo para criar contas, carteiras e investimentos
- Realize transferências e consulte saldos
- Verifique o histórico de operações
// Criação de conta
AccountWallet conta = new AccountWallet("Emelly", ...);
// Transferência
bankService.transfer(contaOrigem, contaDestino, valor);- Existência de conta/carteira
- Saldo suficiente
- Investimento válido
- Exceções customizadas (ex: AccountNotFoundException, NoFundsEnoughException)
- Mensagens claras ao usuário
| Método | Descrição | Parâmetros |
|---|---|---|
| criarConta | Cria nova conta | nome, dados |
| transferir | Transfere entre contas | origem, destino, valor |
| investir | Realiza investimento | conta, valor |
| consultarSaldo | Consulta saldo | conta |
- Auditoria de operações financeiras
- Suporte a múltiplos tipos de carteira
Contribuições são sempre bem-vindas e muito apreciadas! Sinta-se à vontade para abrir uma issue ou enviar um pull request.
- Fork este repositório
- Clone seu fork:
git clone https://github.com/seu-usuario/java-bank.git - Crie uma branch para sua feature:
git checkout -b feature/nova-funcionalidade - Faça suas alterações e teste completamente
- Commit suas mudanças:
git commit -m 'Adiciona nova funcionalidade' - Push para a branch:
git push origin feature/nova-funcionalidade - Abra um Pull Request com descrição detalhada das mudanças
- Mantenha o código limpo e bem comentado
- Siga boas práticas de POO
- Adicione testes para novas funcionalidades
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter mais detalhes. Permite uso, modificação e distribuição livre, com atribuição.
Desenvolvido por Emelly Beatriz com ❤️
📬 Entre em contato: 📧 emellybmuniz@gmail.com | 💼 Linkedin | 🐙 Github
⭐ Gostou do projeto? Deixe uma estrela no repositório para apoiar o desenvolvimento!