Skip to content

Dedmoo/BankManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BankManager

Java OOP bank simulation: customers, savings/checking accounts, deposits, withdrawals, transfers and a simple portfolio view. Originally a coursework UML project; this revision opens the source in a Maven layout, fixes account ownership, and routes money movement through BankManager.

Features

  • Individual and institutional customers
  • Savings and checking accounts with interest helpers
  • Account lifecycle via AccountManagement
  • Deposits, withdrawals and transfers via TransactionExecution
  • Per-customer financial portfolio totals

Domain model

classDiagram
    direction TB
    class AccountManagement {
        <<interface>>
        +createAccount()
        +deleteAccount()
        +displayAccountDetails()
        +updateContactDetails()
    }
    class TransactionExecution {
        <<interface>>
        +deposit()
        +withdraw()
        +transfer()
    }
    class BankManager {
        -accounts: List~Account~
    }
    class Customer {
        <<abstract>>
        #name: String
        #address: String
        #contactDetails: String
        +addAccount()
        +removeAccount()
    }
    class IndividualCustomer
    class InstitutionalCustomer
    class Account {
        <<abstract>>
        #accountNumber: String
        #balance: double
        +applyInterest()
        +calculateFutureBalance()
    }
    class SavingsAccount
    class CheckingAccount
    class FinancialPortfolio {
        +calculateTotalValue()
        +comparePortfolio()
    }
    class Transaction {
        -type: String
        -amount: double
    }

    AccountManagement <|.. BankManager
    TransactionExecution <|.. BankManager
    Customer <|-- IndividualCustomer
    Customer <|-- InstitutionalCustomer
    Account <|-- SavingsAccount
    Account <|-- CheckingAccount
    BankManager o-- Account
    Customer o-- Account
    Customer *-- FinancialPortfolio
    FinancialPortfolio o-- Account
    Account o-- Transaction
Loading

Course UML diagram (Visual Paradigm):

UML class diagram

Quick start

./mvnw test
./mvnw -q exec:java

On Windows:

mvnw.cmd test
mvnw.cmd -q exec:java

Notes

  • Interest rates are annual percentages (for example 1.5 means 1.5%).
  • Transfers fail when the source account has insufficient funds; balances stay unchanged.
  • Account numbers must be unique inside one BankManager instance.

License

MIT

Maintenance

Small doc touch-ups land through pull requests.

About

OOP bank simulation in Java: customers, savings/checking accounts, deposits, withdrawals, transfers and portfolios.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages