Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🏦 Sistema de Gerenciamento Bancário (Console App)

Um sistema completo de gerenciamento bancário via console desenvolvido em Java. O projeto foi construído com foco em Programação Orientada a Objetos (POO), separação de responsabilidades e escrita de código limpo (Clean Code), simulando um painel administrativo para controle de contas e transações financeiras.


🚀 Funcionalidades

O sistema conta com um menu interativo completo para o administrador:

  1. Cadastrar Utilizador: Criação de novas contas com ID único, nome, e-mail e data de nascimento.
  2. Remover Utilizador: Exclusão de contas existentes do sistema através do ID.
  3. Alterar Nome do Utilizador: Permite a atualização do nome do titular da conta de forma segura.
  4. Adicionar Saldo (Depósito): Incrementa o saldo de uma conta específica.
  5. Remover Saldo (Levantamento): Reduz o saldo de uma conta, contendo validação para impedir saldos negativos.
  6. Transferência Bancária: Realiza a transferência de valores entre duas contas cadastradas com validação automática de fundos.
  7. Exibir Utilizadores: Lista todas as contas registradas e os seus detalhes em formato formatado.

🛠️ Tecnologias e Conceitos Utilizados

  • Linguagem: Java (v17+)
  • Paradigma: Programação Orientada a Objetos (POO)
  • API de Datas Moderna (java.time): Uso de LocalDate e Period para o cálculo automatizado e dinâmico da idade do utilizador com base na data de nascimento, eliminando a necessidade de armazenar idades estáticas e prevenindo inconsistências.
  • Estruturas de Dados: ArrayList para manipulação dinâmica e segura da lista de contas em memória.
  • Tipos Enumerados (Enums): Utilização do BankStatus para controlar de forma explícita e legível as operações de fluxo do sistema.
  • Encapsulamento e Clean Code: Lógica de negócios encapsulada dentro das entidades (Bank e Account), mantendo a classe principal (Main) limpa e responsável apenas pela interação com o terminal.

📦 Estrutura do Projeto

Java Version License

O projeto está organizado seguindo as melhores práticas de pacotes em Java:

src/
├── application/
│   └── Main.java             # Ponto de entrada da aplicação e interface do menu
├── entities/
│   ├── Account.java          # Entidade que representa a conta do utilizador e seus dados
│   └── Bank.java             # Gerenciador do banco (regras de negócio, listas e transações)
└── entitiesEnums/
    └── BankStatus.java       # Enum para controle dos estados das operações
🚦 Como Executar o Projeto
Pré-requisitos
Certifica-te de ter instalado na tua máquina:

Java JDK 17 ou superior.

Uma IDE de tua preferência (IntelliJ IDEA, Eclipse, VS Code) ou o terminal.

Passo a passo no Terminal
Clona o repositório:

Bash
git clone [https://github.com/TEU_USUARIO/NOME_DO_REPOSITORIO.git](https://github.com/TEU_USUARIO/NOME_DO_REPOSITORIO.git)
Navega até a pasta raiz do projeto:

Bash
cd NOME_DO_REPOSITORIO/src
Compila os arquivos Java:

Bash
javac application/Main.java entities/*.java entitiesEnums/*.java
Executa a aplicação:

Bash
java application.Main
💻 Demonstração do Menu
Ao rodar o sistema, serás recebido pela seguinte interface no console:

EXEMPLO:
-----------------------
BANK MENU (ADM ACCESS!!)

[1] - Register user
[2] - Remove user
[3] - Rename user
[4] - Add balance for user
[5] - Remove balance of user
[6] - Transferring money
[7] - Show users
[0] - Exit

Select an option: 


✒️ Autor
Desenvolvido com ☕ e dedicação por Lucas de Oliveira Saquette.

About

Projeto de Sistema de um banco feito somente por mim, Projeto pessoal.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages