Este projeto é uma implementação de um sistema bancário básico em Java, desenvolvido como parte do desafio do curso "Java: criando a sua primeira aplicação" da Alura. Ele foi construído com o objetivo de aplicar conceitos fundamentais da linguagem Java, como variáveis, condicionais, loops e leitura de dados, além de explorar conceitos mais avançados, como classes, objetos e padrões de projeto (strategy e factory method).
- Cadastro de Cliente: Permite que o cliente cadastre um usuário e senha, escolhendo o tipo de conta (poupança ou corrente).
- Login: Permite que o cliente faça login em sua conta.
- Menu de Conta: Após o login, o cliente pode criar uma nova conta, consultar saldo, receber valor e transferir valor entre contas.
O projeto consiste em diferentes classes e interfaces para gerenciar o banco de dados, os clientes e suas contas, incluindo a lógica para realizar transações bancárias. Abaixo está uma breve descrição das principais classes:
- BancoDeDados: Implementa a interface
Database
e gerencia o armazenamento dos clientes e suas contas, incluindo métodos para cadastrar clientes, fazer login, consultar saldo, transferir valor, entre outros. - Cliente: Representa um cliente do banco, contendo informações como nome de usuário, senha e lista de contas associadas.
- Conta: Representa uma conta bancária, com funcionalidades para depositar, sacar, transferir valor, etc.
- ContaFactory: Implementa o padrão Factory Method para criar diferentes tipos de conta (poupança ou corrente) de acordo com a escolha do cliente.
Para utilizar o sistema, basta clonar este repositório e executar o código em sua IDE Java preferida. Certifique-se de ter o JDK instalado em sua máquina.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues relatando problemas encontrados ou sugerindo novas funcionalidades. Se deseja contribuir diretamente, siga os passos abaixo:
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature
) - Faça commit das suas mudanças (
git commit -am 'Adiciona nova feature'
) - Faça push para a branch (
git push origin feature/nova-feature
) - Crie um novo Pull Request
Este projeto está licenciado sob a MIT License.