/Banking_System

Basic Banking System implemented in Java

Primary LanguageJava

Banking System

The API handles some of the basics operations of a Banking System.

USER

It includes three different types of users which extends user’s abstract class parameters:

• Admin

Can perform most of the actions in the system. Admins are able to:

  • Check balance (route “/balance/accountNumber/{accountNumber}”);
  • Add balance (route “/balance/add”);
  • Add account (route “/account/add”);
  • Update account status (route “/account/status”);
  • Delete account (route “/account/delete/{accountNumber}”);
  • Decrease balance (route “/balance/decrease”);
  • Add new third-party (route “/thirdparty/add”).

• AccountHolder

Can manage more accounts and realize transactions:

  • Check accounts (route “/accountholder/account/{accountHolderid}”);
  • Check balance (route “/balance/accountholder/{accountNumber}”);
  • Transfer balance (route “/balance/transfer”).

• Third-Party

Are external to the system, but they can:

  • Transfer money (route “/thirdparty/transfer”).

ACCOUNT

Accounts are divided in four categories that extends account’s abstract class parameters:

• CheckingAccount Have a primaryOwner which age is equal or more than 24, a minimumBalance of 250 and a monthlyMaintenanceFee of 12.

• StudentCheckingAccount Have a primaryOwner which age is less than 24 years and don’t have monthlyMaintenanceFee.

• Savings Savings have a default interest rate of 0.0025, a maximum interest rate of 0.5 and a default minimumBalance of 1000.

• CreditCard CreditCard have a creditLimit of 100 and interestRate of 0.2.

Postscript: Due to the fact that only a few accounts have been created, the tests run properly only when run one by one.