Mini Project (Banking Systems)

Introduction :- This mini project the of Banking system made using command line programming.In this project we have covered following topics :

  1. Creating Account
  2. Login Section using Captcha Support
  3. View Balance
  4. Deposit Fund
  5. Withdrawal Fund
  6. Transfer Fund

Prerequisite
a) Random Module
b) Getpass Module
c) Conditional Statement(If Else)
d) Loop
e) Functions
f) Database (Mysql)

Programs

import random
import getpass
import mysql.connector
mycon=mysql.connector.connect(host="localhost",user="root",password="1234",database="netbanking")
mycur=mycon.cursor()
def create_account():
    cmd="insert into info(Name,Address,Mobile,Password,account,balance)values(%s,%s,%s,%s,%s,%s)"
    print("*********************************************************")
    Name=input("Name :-")
    Address=input("Address :-")
    Mobile=input("Mobile :-")
    bal=input("Amount:-Rs.")
    password=getpass.getpass()
    
    cpassword=getpass.getpass("Re-Enter Password")
    if(password==cpassword):
            acc_number=random.randint(1111,9999)
            value=(Name,Address,Mobile,password,acc_number,bal)
            mycur.execute(cmd,value)
            mycon.commit()
            print("Successfull Account Created")
            print("Account No :-",acc_number)
            login()
def blank():
    print("\n"*50)
def login():
   
    cap=random.randint(2222,99999)
    print("*******************Salesforcedillers Bank of India*********************")
    global user
    
    user=input("Account Number   :- ")
    pas=getpass.getpass()
    print("**********",cap,"************")
    captcha=int(input("Captcha:-"))
    mycur.execute("select Name,account,Password from info where account={} and Password={}".format(user,pas))
    result=mycur.fetchall()
    if(cap==captcha):
        if(not result):
            print("Sorry Account No or Password Not Match")
            print("Try Again")
            login()
        else:
             print("\n\n\n***********************Successfull Login**************************")
             print("Hello",result[0][0],"\t\t\t\t\t\t\tAccount Number",result[0][1])
             allinfo()
    else:
        print("Invalid Captcha")
        login()
def allinfo():
    while True:
        print("*******************************************************************")
        print("1 View Balance\n2 Deposit Fund\n3 Withdrawal\n4 Fund Transfer\n5 Logout")
        print("*******************************************************************")
        ch=int(input("Choice :-"))
        if(ch==1):
            view()
        elif(ch==2):
            deposit()
        elif(ch==3):
            withdrawal()
        elif(ch==4):
            transfer()
        elif(ch==5):
            print("Successfully Logout")
            exit()
def view():
    mycur.execute("select balance from info where account={}".format(user))
    result=mycur.fetchall()
    print("Account Balance ",result[0][0])
def deposit():
    mycur.execute("select balance from info where account={}".format(user))
    result=mycur.fetchall()
    balance1=int(result[0][0])
    dbal=int(input("Enter Balance"))
    balance1=balance1+dbal
    mycur.execute("update info set balance={} where account={}".format(balance1,user))
    mycon.commit()
def withdrawal():
    mycur.execute("select balance from info where account={}".format(user))
    result=mycur.fetchall()
    balance1=int(result[0][0])
    print("Balance",balance1)
    wbal=int(input("Enter Balance"))
    if(balance1>=wbal):
        balance1=balance1-wbal
        mycur.execute("update info set balance={} where account={}".format(balance1,user))
        mycon.commit()
    else:
        print("Insufficient Fund")
def transfer():
    tacc=int(input("Account No:-"))
   
    mycur.execute("select name,account,balance from info where account={}".format(tacc))
    result1=mycur.fetchall()
    if(not result1):
        print("No Account Found")
        transfer()
    else:
        print("Name is",result1[0][0],"\t\t\t\t\t","Account No is",result1[0][1])
        print()
    mycur.execute("select balance from info where account={}".format(user))
    result=mycur.fetchall()
    balance1=int(result[0][0])
    wbal=int(input("Enter Transfer Balance"))
    if(balance1>=wbal):
        balance1=balance1-wbal
        mycur.execute("update info set balance={} where account={}".format(balance1,user))
        mycon.commit()
        balance2=int(result1[0][2])+wbal
        mycur.execute("update info set balance={} where account={}".format(balance2,tacc))
        mycon.commit()
        print("Your Account is Debit from",wbal,"and credited to",result1[0][0])

    else:
        print("Insufficient Fund")
    
    
    
print("\t\t\tSalesforcedrillers of India")
print("1 Create Account\n2 Login")
ch=int(input("Enter Choice:-"))
if(ch==1):
    create_account()
elif(ch==2):
    login()

Output
1. Front Page
front-page

2. Registration Page
registration-page

3. Mysql Database
mysql-database

4. Login Page
login-page

5. After Login Main Page
after-login-main-page

6. View Balance
view-balance

7. Deposit Balance
deposit-balance

8. Withdrawal Balance
withdrwal-balance

9. Transfer Fund
transfer-fund

10. Logout
logout

Subscribe Now