This project simulates workflow of a bank. Where some functionalities like creating account, deposit money, withdrwal money, transfer money and displaying transactions.
As the code is made with python and written in jupyter notebook so it is possible to directly run the code and check the output over there.
As this program is written with concepts of OOPs. So first of all you have to create an object of
bank class.
b = Bank()
Then you can start using the functionalities with the created object.
You can create 2 type of accounts.
- Operator - only operator can do the deposit process and all other functionalities
- Account Holder - all functionalities except deposit can be done
For creating account you have to call the method from the created object
b.register_user() which will create an account holder's account
for creating operator account just pass 'O' b.register_user('O')
Here you can select 3 different type of accounts like 1. Current (C) - By selecting current account 500 rupees will be credited in account. 2. Savings (S) - By selecting savings account 2000 rupees will be credited in account. 3. Loan (L) - By selecting loan account you will be asked to enter the value of amount. And that much will be credited. 4. Quit registration (Q) - To quit from the registration process you can use Q.
It will ask for some other details you can provide them or you can use Q as input to quit the ongoing registration process.
After completing the process account number will be generated. Remember the account number and the given password for further transactions.
You can login with your phone number and password which was provided during the time of registration
and the functionalities will be available only if any user has been logged in at the time.
login method can be used for logging into account which can be called using the same bank object
created before. b.login()
After completing the job for which you have logged in; you can log out of the account using logout method which can be called using the same bank object created before b.logout().
For changing the password you can call for the change_password method b.change_password() here you will be asked for the current password and the new password.
*Note: Only operators can deposit into an account For making a deposit you can call the deposit function b.deposit(); where the operator will be asked to enter the account number of payer's and the amount to be deposited.
For doing an withdrawl process you will be asked to enter amount you want to withdraw; to use this function you have to call withdrawl method b.withdrawl().
For completing money transfer process you have to call the moneyTransfer method b.moneyTransfer(). Where you will be asked to enter the payee's account number and the amount you want to transfer.
To see your transaction details you can call the method my_transactions b.my_transactions(); where you will be asked for some filter options like
- All - show all transactions till now
- By year - show transactions made in a specific year
- By year and month - show transactions made in a specific year and specific month
- Cancel - cancel the process
If you ever wanted to see account info that can displayed using the method my_details b.my_details().