The implementation of the banking platform was tackled through the creation of 14 essential classes, which all hold a different yet important role to the functionality of the system. An administrator or user are both subclasses of person. An administrator is granted access to the operations they are entitled to through the correct input of staff number and pin, both defined in the overloaded constructor. An administrator can access their tasks through the Administrator Operations class, and similarly a user can access functionality in the Regular Operations class. To access most functionality, the user must first apply for an account. An account can either be a Savings or Current account. After the application procedure is carried out, the administrator can view applications for an account and decide whether they will accept or deny the application. The denial of an application results in the deletion of the application from the Arraylist, whilst the acceptance results in the addition of the element to a polymorphed Arraylist of type Account. The same procedure is carried out when the user applies for a card. Additionally, the user can apply for a Debit or a Credit card, which if accepted, the element is stored in a polymorphed Arraylist of type card. Besides from creating cards and accounts, the user can also delete their accounts or cards. This is carried out by the deletion of the element from the Arraylist. Although, an administrator can carry out the deletion procedure as well, but when an administrator deletes a holding of a user, the element (before deletion) is copied into an alternate Arraylist of type Report which stores the respective card or account number, and the reason of why the card or account subscription was manually terminated. Moreover, a user can transact (which includes both withdrawals or debits) to other accepted accounts. A transaction is recorded by being added to an Arraylist of type Transaction, and a user can view transactions they were either a sender or receiver of, in the future. Finally, more simply, a user can view their bank details, card details and balance, which all can lead to the decision of acting on the functionality specified above.
wecet/Banking-System-in-Java
A CLI Banking System with integrated Card and Account handling with Administrator operations regrading the different types of accounts and transactions
Java