Skip to content

A Java console app for managing Chequing, Savings, and Loan accounts with unique rules. Features transaction tracking, tax deductions, overdraft handling, and interest application.

Notifications You must be signed in to change notification settings

mehmetali10/Bank-Management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Bank Management Console Application

This is a Java console application that allows users to manage three types of accounts: Chequing Account, Savings Account, and Loan Account.

Chequing Account

A chequing account contains an id, name, and balance. It allows users to deposit or withdraw an amount of money. The chequing account charges an overdraft fee of $5.50 if the amount being withdrawn exceeds the account balance. The overdraft limit is $200.00 dollars. A chequing account is taxable. Income that exceeds $3,000 is taxed 15%.

Functionality

  • Create a new Chequing Account
  • Deposit money into a Chequing Account
  • Withdraw money from a Chequing Account
  • Apply an overdraft fee of $5.50 if the amount being withdrawn exceeds the account balance and overdraft limit
  • Deduct taxes from a Chequing Account if income exceeds $3,000

  • Savings Account

    A savings account contains an id, name, and balance. It allows users to deposit or withdraw an amount of money. Deposits are free, but the savings account charges a $5.00 fee for every withdrawal.

    Functionality

  • Create a new Savings Account
  • Deposit money into a Savings Account
  • Withdraw money from a Savings Account
  • Apply a $5.00 fee for every withdrawal from a Savings Account

  • Loan Account

    A loan account contains an id, name, and balance. It allows users to deposit or withdraw an amount of money. A withdrawal can't be made if the debt exceeds $10,000. Every withdrawal is charged a fixed interest rate of 2%.

    Functionality

  • Create a new Loan Account
  • Deposit money into a Loan Account
  • Withdraw money from a Loan Account
  • Apply a fixed interest rate of 2% to every withdrawal from a Loan Account
  • Prevent a withdrawal if the debt exceeds $10,000

  • Transaction

    An account transaction can be: WITHDRAW or DEPOSIT. Every transaction has an id, amount, and timestamp. Transactions must be sorted based on timestamp. A transaction's timestamp must display to the user as a readable date.

    Functionality

  • Create a new Transaction
  • Display all Transactions for an Account
  • Sort Transactions by timestamp
  • Display a Transaction's timestamp as a readable date

  • Bank

    The bank keeps a record of every account created and transaction made. The id of a transaction matches the id of an account. Depending on the account, some transactions may be denied. The bank can deduct taxes from taxable accounts.

    Functionality

  • Create a new Bank
  • Add an Account to the Bank
  • Add a Transaction to an Account in the Bank
  • Deduct taxes from a Chequing Account in the Bank if income exceeds $3,000
  • Prevent a withdrawal if the debt of a Loan Account exceeds $10,000

  • Contributions

    Contributions are welcome! If you find a bug or have a suggestion for an improvement, please open an issue or submit a pull request.

    About

    A Java console app for managing Chequing, Savings, and Loan accounts with unique rules. Features transaction tracking, tax deductions, overdraft handling, and interest application.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages