An open API service indexing awesome lists of open source software.

https://github.com/d1ogocs/atm

Desenvolvimento de uma aplicação de simulação de um ATM utilizando Programação Orientada a Objetos (POO)
https://github.com/d1ogocs/atm

java oriented-object-programming polimorphism

Last synced: 7 days ago
JSON representation

Desenvolvimento de uma aplicação de simulação de um ATM utilizando Programação Orientada a Objetos (POO)

Awesome Lists containing this project

README

        

# ATM
## Desenvolvimento de uma aplicação de simulação de um ATM utilizando Programação Orientada a Objetos (POO)

O tema desta aplicação foi escolhido de maneira que possibilitasse a implementação de vários temas existentes na Programação Orientada a Objetos (POO).

### Objetivos:
- Utilizar Classes e Objetos
- Herança e Polimorfismo
- Separação de interface e implementação
- Tratamento de exceções
- Utilização e criação de anotações
- Streams e processamento de ficheiros

### Ferramentas utilizadas:
- Visual Studio Code

### Tecnologias utilizadas:
- Linguagem Java

### Resultados:
Quando a aplicação é executada, todos os dados presentes no ficheiro "Dados.txt" são lidos e armazenados numa ArrayList.

![Ficheiro "Dados.txt"](https://github.com/D1ogoCS/ATM/blob/main/imagens/ficheiroDados.png)

*Ficheiro "Dados.txt"*

![Menu inicial](https://github.com/D1ogoCS/ATM/blob/main/imagens/menu.png)

*Menu inicial*

Quando o utilizador escolhe a opção "1-Entrar na conta" e introduz o IBAN e o código PIN correto, é escrito no ficheiro "logins.txt" o IBAN introduzido e a data/hora.

![Ficheiro "logins.txt"](https://github.com/D1ogoCS/ATM/blob/main/imagens/ficheiroLogins.png)

*Ficheiro "logins.txt"*

Quando o utilizador escolhe a opção "2-Sair", o conteúdo do ficheiro "Dados.txt" é apagado e é escrito todos os dados das contas, bem como os dados do titular da mesma (IBAN, saldo, PIN, tipo de conta, dia de nascimento, mês de nascimento, ano de nascimento, Objeto do tipo Utilizador, Objeto do tipo Conta).

![Introdução do IBAN](https://github.com/D1ogoCS/ATM/blob/main/imagens/inputIban.png)

*Introdução do IBAN*

![Introdução do PIN](https://github.com/D1ogoCS/ATM/blob/main/imagens/inputPIN.png)

*Introdução do PIN*

![Menu principal](https://github.com/D1ogoCS/ATM/blob/main/imagens/menuPrincipal.png)

*Menu principal*

![Quantias](https://github.com/D1ogoCS/ATM/blob/main/imagens/quantias.png)

*Quantias*

![Outras quantias](https://github.com/D1ogoCS/ATM/blob/main/imagens/outrasQuantias.png)

*Outras quantias*

![Fatura de levantamento](https://github.com/D1ogoCS/ATM/blob/main/imagens/faturaLevantamento.png)

*Fatura de levantamento*

![Fatura de depósito](https://github.com/D1ogoCS/ATM/blob/main/imagens/faturaDeposito.png)

*Fatura de depósito*

![Transferência bancária](https://github.com/D1ogoCS/ATM/blob/main/imagens/transferencia.png)

*Transferência bancária*

![Quantia a transferir](https://github.com/D1ogoCS/ATM/blob/main/imagens/quantiaTransferencia.png)

*Quantia a transferir*

![Confirmar transferência](https://github.com/D1ogoCS/ATM/blob/main/imagens/confirmarTransferencia.png)

*Confirmar transferência*

![Fatura de transferência](https://github.com/D1ogoCS/ATM/blob/main/imagens/faturaTransferencia.png)

*Fatura de transferência*

![Menu com outras operações](https://github.com/D1ogoCS/ATM/blob/main/imagens/outrasOperacoes.png)

*Menu com outras operações*

![Movimentos de conta](https://github.com/D1ogoCS/ATM/blob/main/imagens/movimentos%20de%20conta.png)

*Movimentos de conta*

![Informações da conta](https://github.com/D1ogoCS/ATM/blob/main/imagens/informacoesConta.png)

*Informações da conta*

A aplicação possui um menu escondido dos utilizadores comuns, que serve para os administradores fazerem a gestão do sistema. Para aceder a este menu é necessario digitar "9999" no menu inicial.

![Acesso ao menu do administrador](https://github.com/D1ogoCS/ATM/blob/main/imagens/acessoMenuAdmin.png)

*Acesso ao menu do administrador*

![Introduzir o Id do Admin](Acesso ao menu do administrador)

*Introduzir o Id do Admin*

![Introduzir a palavra-passe do Admin](https://github.com/D1ogoCS/ATM/blob/main/imagens/inputPassword.png)

*Introduzir a palavra-passe do Admin*

![Menu do Admin](https://github.com/D1ogoCS/ATM/blob/main/imagens/menuAdmin.png)

*Menu do Admin*

![Menu de manutenção de contas](https://github.com/D1ogoCS/ATM/blob/main/imagens/menuManutencaoContas.png)

*Menu de manutenção de contas*

![Escolher tipo de conta](https://github.com/D1ogoCS/ATM/blob/main/imagens/tipoConta.png)

*Escolher tipo de conta*

![Tabela com as contas bancárias do sistema](https://github.com/D1ogoCS/ATM/blob/main/imagens/verificarContas.png)

*Tabela com as contas bancárias do sistema*

![Menu de manutenção de clientes](https://github.com/D1ogoCS/ATM/blob/main/imagens/menuManutencaoClientes.png)

*Menu de manutenção de clientes*

![Adicionar um novo cliente ao sistema](https://github.com/D1ogoCS/ATM/blob/main/imagens/adicionarCliente.png)

*Adicionar um novo cliente ao sistema*

![Confirmar a adição de um novo cliente](https://github.com/D1ogoCS/ATM/blob/main/imagens/confirmarNovoCliente.png)

*Confirmar a adição de um novo cliente*

![Tabela com os clientes do sistema](https://github.com/D1ogoCS/ATM/blob/main/imagens/verificarClientes.png)

*Tabela com os clientes do sistema*