0% found this document useful (0 votes)
6 views35 pages

Banking System

Uploaded by

Neeta Rani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views35 pages

Banking System

Uploaded by

Neeta Rani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 35

BANKING SYSTEM

INDEX
1. CERTIFICATE
2. ACKNOWLEDGMENT
3. SYNOPSIS
4. OUTPUT SCREENSHOTS
5. PYTHON CODE
6. MYSQL CODE
7. BIBLIOGRAPHY
CERTIFICATE
This is to certify that ____________ of class
___________of Delhi Public School, Sector
45, Gurgaon has satisfactorily completed his
project on the topic: ______ under the guidance
of ________ in the academic year 2021-2022.

Signature of
internal Examiner

Signature of
External Examiner
ACKNOWLEDGEMENT

First and foremost, I would like to thank my Computer


Science Teacher Ruchi Ma’am, who guided me in doing this
project on Banking System. She provided us with invaluable
advice and helped us in difficult periods. Her motivation and
help contributed tremendously to the successful completion of
the project.
Besides, I would like to thank my project partner who helped
me with great ideas and completed this project.
Also, I would like to thank my family and friends for their
support. Without that support, I could not have succeeded in
completing this project.
In the end, I would like to thank everyone who helped and
motivated me to work on this project.
SYNOPSIS
BANK MANAGEMENT SYSTEM-
This project is useful for the bank employees as
well as customers to keep a track of account
details. The emerging of digital system made
information available on finger tips. By automating
the transactions one can view the details as and
when required in no time. This project emphasizes
on creation of new customer accounts, managing
the existing account holders in the bank, by
making digital system one can generate real time
daily reports, monthly reports and annual reports
which can enhance the system.
ADD ACCOUNT-

Menu
MODIFY ACC
CLOSE ACC

PAN MENU

Deposit Amt-

Withdraw Amt-
SEARCH MENU

Account No-

Pan Card-

Phone No-

Email-
Name-

REPORT MENU

Daily Report-

Monthly Report-

Account Details-
CLOSE APPLICATION
PYTHON CODE

import mysql.connector
from datetime import date

def clear():
for _ in range(65):
print()

def account_status(acno):
conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
cursor = conn.cursor()
sql ="select status,balance from customer where acno
='"+acno+"'"
result = cursor.execute(sql)
result = cursor.fetchone()
conn.commit()
conn.close()
return result
def deposit_amount():
conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
cursor = conn.cursor()
clear()
acno = input('Enter account No :')
amount = input('Enter amount :')
today = date.today()
result = account_status(acno)
if result [0]== 'active':
sql1 ="update customer set balance =
balance+"+amount + ' where acno = '+acno+' and
status="active";'
sql2 = 'insert into transaction(amount,type,acno,dot)
values(' + amount +',"deposit",'+acno+',"'+str(today)+'");'
cursor.execute(sql2)
cursor.execute(sql1)
#print(sql1)
#print(sql2)
print('\n\namount deposited')
else:
print('\n\nClosed or Suspended Account....')

wait= input('\n\n\n Press any key to continue....')


conn.commit()
conn.close()

def withdraw_amount():
conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
cursor = conn.cursor()
clear()
acno = input('Enter account No :')
amount = input('Enter amount :')
today = date.today()
result = account_status(acno)
if result[0] == 'active' and int(result[1])>=int(amount):
sql1 = "update customer set balance = balance-" + \
amount + ' where acno = '+acno+' and
status="active";'
sql2 = 'insert into transaction(amount,type,acno,dot)
values(' + \
amount + ',"withdraw",'+acno+',"'+str(today)+'");'

cursor.execute(sql2)
cursor.execute(sql1)
#print(sql1)
#print(sql2)
print('\n\namount Withdrawn')

else:
print('\n\nClosed or Suspended Account.Or Insufficient
amount')

wait = input('\n\n\n Press any key to continue....')


conn.commit()
conn.close()

def transaction_menu():
while True:
clear()
print(' Trasaction Menu')
print("\n1. Deposit Amount")
print('\n2. WithDraw Amount')
print('\n3. Back to Main Menu')
print('\n\n')
choice = int(input('Enter your choice ...: '))
if choice == 1:
deposit_amount()
if choice == 2:
withdraw_amount()
if choice == 3:
break

def search_menu():
conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
cursor = conn.cursor()
while True:
clear()
print(' Search Menu')
print("\n1. Account No")
print('\n2. pan Card')
print('\n3. Phone No')
print('\n4. Email')
print('\n5. Names')
print('\n6. Back to Main Menu')
choice = int(input('Enter your choice ...: '))
field_name=''

if choice == 1:
field_name ='acno'

if choice == 2:
field_name ='pan_no'

if choice == 3:
field_name = 'phone'

if choice == 4:
field_name = 'email'

if choice == 5:
field_name = 'name'

if choice == 6:
break
msg ='Enter '+field_name+': '
value = input(msg)
if field_name=='acno':
sql = 'select * from customer where '+field_name + ' =
'+value+';'
else:
sql = 'select * from customer where '+field_name +' like
"%'+value+'%";'
#print(sql)
cursor.execute(sql)
records = cursor.fetchall()
n = len(records)
clear()
print('Search Result for ', field_name, ' ',value)
print('-'*80)
for record in records:
print(record[0], record[1], record[2], record[3],
record[4], record[5], record[6], record[7], record[8])
if(n <= 0):
print(field_name, ' ', value, ' does not exist')
wait = input('\n\n\n Press any key to continue....')
conn.commit()
conn.close()
wait=input('\n\n\n Press any key to continue....')

def daily_report():
clear()

conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
today = date.today()
cursor = conn.cursor()
sql = 'select tid,dot,amount,type,acno from transaction t
where dot="'+ str(today)+'";'
cursor.execute(sql)
records = cursor.fetchall()
clear()
print('Daily Report :',today)
print('-'*120)
for record in records:
print(record[0], record[1], record[2], record[3],
record[4])
print('-'*120)
conn.commit()

conn.close()
wait = input('\n\n\n Press any key to continue....')

def monthly_report():
clear()

conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
today = date.today()
cursor = conn.cursor()
sql = 'select tid,dot,amount,type,acno from transaction t
where month(dot)="' + \
str(today).split('-')[1]+'";'
cursor.execute(sql)
records = cursor.fetchall()
clear()
print(sql)
print('Monthly Report :', str(today).split(
'-')[1], '-,', str(today).split('-')[0])
print('-'*120)
for record in records:
print(record[0], record[1], record[2], record[3],
record[4])
print('-'*120)
conn.commit()
conn.close()
wait = input('\n\n\n Press any key to continue....')

def account_details():
clear()
acno = input('\nEnter account no :')
conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
cursor = conn.cursor()
sql ='select * from customer where acno ='+acno+';'
sql1 = 'select tid,dot,amount,type from transaction t
where t.acno='+acno+';'
cursor.execute(sql)
result = cursor.fetchone()
clear()
print('Account Details')
print('-'*120+'|')
print('Account No : ',result[0])
print('Customer Name : ',result[1])
print('Address : ',result[2])
print('Phone NO : ',result[3])
print('Email ID : ',result[4])
print('pan No : ',result[5])
print('Account Type : ',result[6])
print('Account Status : ',result[7])
print('Current Balance : ',result[8])
print('-'*120)
cursor.execute(sql1)
results = cursor.fetchall()
print('Transaction Details')
print('TID',' ','DOT',' ', 'AMOUNT',' ',"TYPE")
for result in results:
print(result[0],' ', result[1],' ', result[2],' ', result[3],)
conn.commit()
conn.close()
wait=input('\n\n\nPress any key to continue.....')
def report_menu():
while True:
clear()
print(' Report Menu')
print("\n1. Daily Report")
print('\n2. Monthly Report')
print('\n3. Account Details')
print('\n4. Back to Main Menu')
choice = int(input('\nEnter your choice ...: '))
if choice == 1:
daily_report()
if choice == 2:
monthly_report()
if choice == 3:
account_details()
if choice == 4:
break
def validation_email():
email = input('Enter Email :')
if '@' in email and '.' in email:
return email
else:
print('incorrect mail id\n\n\n\n')
validation_email()

def validation_phno():
phone = input('Enter Phone no :')
if len(list(phone))==10:
return phone
else:
print('incorrect phone no.\n\n\n\n')
validation_phno()

def validation_pan():
pan = input('Enter pan no :')
if pan[0:5].isalpha()==True and pan[5:9].isdigit()==True
and pan[9].isalpha()==True and len(pan)==10:
return(pan)
else:
print('incorrect pan no.\n\n\n\n')
validation_pan()

def add_account():
conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
cursor = conn.cursor()

name = input('Enter Name :')


addr = input('Enter address ')
phone=validation_phno()
email=validation_email()
pan=validation_pan()
actype = input('Account Type (saving/current ) :')
balance = float(input('Enter opening balance :'))
strng=str(balance)
sql = 'insert into
customer(name,address,phone,email,pan_no,acc_type,bala
nce,status) values ( "' + name +'","'+
addr+'","'+phone+'","'+email+'","'+pan+'","'+actype+'","'+st
rng+'","active" );'
print(sql)
cursor.execute(sql)
conn.commit()
conn.close()
print('New customer added successfully')
wait= input('\n\n\n Press any key to continue....')
def modify_account():
conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
cursor = conn.cursor()
clear()
acno = input('Enter customer Account No :')
print('Modify screen ')
print('\n 1. Customer Name')
print('\n 2. Customer Address')
print('\n 3. Customer Phone No')
print('\n 4. Customer Email ID')
choice = int(input('\nWhat do you want to change ? '))
print('\n')
field_name=''
if choice == 1:
new_data = input('Enter New value :')
field_name ='name'
if choice == 2:
new_data = input('Enter New value :')
field_name = 'address'
if choice == 3:
new_data = validation_phno()
field_name = 'phone'
if choice == 4:
new_data = validation_email()
field_name = 'email'
sql ='update customer set ' + field_name + '="'+ new_data
+'" where acno='+acno+';'
print(sql)
cursor.execute(sql)
print('Customer Information modified..')
conn.commit()
conn.close()

wait= input('\n\n\n Press any key to continue....')

def close_account():
conn = mysql.connector.connect(
host='localhost', database='bankproject', user='root',
password='Hello1234%')
cursor = conn.cursor()
clear()
acno = input('Enter customer Account No :')
sql ='update customer set status="close" where acno
='+acno+';'
cursor.execute(sql)
conn.commit()
conn.close()
print('Account closed')

def main_menu():
while True:
clear()
print(' Main Menu')
print("\n1. Add Account")
print('\n2. Modify Account')
print('\n3. Close Account')
print('\n4. Transaction Menu')
print('\n5. Search Menu')
print('\n6. Report Menu')
print('\n7. Close application')
print('\n\n')
choice = int(input('Enter your choice ...: '))
if choice == 1:
add_account()
if choice == 2:
modify_account()
if choice == 3:
close_account()
if choice ==4 :
transaction_menu()
if choice ==5 :
search_menu()
if choice == 6:
report_menu()
if choice ==7 :
break

if _name_ == "_main_":
main_menu()
SQL CODE
import mysql.connector
conn= mysql.connector.connect(host='localhost',
database='bankproject', user='root', password='Y0145')

mycur=conn.cursor()

mycur.execute("CREATE TABLE CUSTOMER(Acno INT(11)


AUTO_INCREMENT PRIMARY KEY,Name CHAR(30),Address
VARCHAR(100),Phone VARCHAR(15),Email varchar(80),PAN_no
varchar(20),Acc_type varchar(20),Status char(15),Balance
FLoat(20,2))")
import mysql.connector

conn= mysql.connector.connect(host='localhost',
database='bankproject', user='root', password='Y0145')
mycur=conn.cursor()
mycur.execute("CREATE TABLE TRANSACTION(TID INT(11)
AUTO_INCREMENT PRIMARY KEY, DOT DATE,AMOUNT
INT(10),TYPE CHAR(20),Acno INT(10) references customer(Acno))")
import mysql.connector
conn= mysql.connector.connect(host='localhost',
database='bankproject', user='root', password='Y0145')
mycur=conn.cursor()
sql='INSERT INTO
Customer(acno,name,address,phone,email,PAN_no,acc_type,statu
s,balance) VALUES(%s,%s, %s, %s, %s,%s,%s,%s,%s);'
val=[(1,'rakesh kumar','cf-4 surya
nagar',987181818,'[email protected]','ABCDE1234A','saving'
,'active',12200.00),

(2,'raju vashistha','A-75-B Brij


vihar',96734344318,'[email protected]','ACCCC2222B','current','
active',10000.00),
(3,'archana mitra','cf04-
mjana',7899454545,'[email protected]','LLLLL1234P','savin
g','active',22200.00),
(4,'ashutosh verma','d-100 brij vihar',1122334455,'
[email protected]',' MMMMM5678L','saving','active',52260.00),
(5,'raman singh','e-40 radha
bihar',3344556677,'[email protected]','NNNNN7989P','saving','cl
ose',0000.00),]
mycur.executemany(sql,val)
conn.commit()
import mysql.connector
conn= mysql.connector.connect(host='localhost',
database='bankproject', user='root', password='Y0145')
mycur=conn.cursor()
sql = '''INSERT INTO TRANSACTION VALUES(%s, %s, %s, %s, %s);'''
val=[(1,'2020-10-16',2000,'deposit',1),
(2,'2020-10-15',2000,'deposit',2),
(3,'2020-10-18',1200,'withdraw',1),
(4,'2020-10-18',1200,'withdraw',3),
(5,'2020-11-30',200,'deposit',1)]
mycur.executemany(sql,val)
conn.commit()
BIBLIOGRAPHY

 www.google.com

 Saraswati Computer Science Class 12

You might also like