BANK MANAGEMENT SYSTEM
Version 1.0 (2022-2023)
Computer Science (083) Project
Developed By
AADIL F. SAIYED
AREON BANERJEE
AAKARSH GUPTA
Delhi Public School, R.K.Puram, New Delhi
www.dpsrkp.net
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 1/15
Index
Sno Description Pageno
1 Certificate 3
2 Acknowledgement & References 4
3 Introduction 5
4 Source Code 8
5 Output Screen 12
6 Hardware & Software requirement 15
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 2/15
Certificate
This is to certify that BANK MANAGEMNT SYSTEM
Computer Science project is developed by AAKARSH
GUPTA, AREON BANERJEE and AADIL F. SAIYED under my
supervision in the session 2022-2023.
The work done by them is original.
__________________
Computer Science Teacher
Date: ____________
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 3/15
Acknowledgement
We express our immense gratitude to our Computer Science teacher- Mr.
Mohitendra Dey for hir intellectual vigour and generously given support
that has been invaluable in escalating our determination to reach the
goal of writing this project successfully.
We can hardly find appropriate words to express our obligations and
gratefulness to the Vice Principal and the Principal for including such
projects in our curriculum.
We also feel immense pleasure in recording deep sense of indebtedness,
gratitude and sincere thanks to all fellow group mates for their
help,company and hardwork.
We are especially indebted to our parents for their sincere love, moral
support and spontaneous encouragement throughout the entire period
of this work.
Thank you!
Reference
1.Classnotes
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 4/15
Project Synopsis
Introduction
● This project is all about software for the Bank management system. It helps to have a full-fledged
control over his/her account.
● The system we have developed is perfect for a person trying to access their bank account and also
for bank executive to edit details. From an admin point of view, we have added accessibilities like
adding new accounts, editing existing accounts, sorting account in a particular way, deleting rows
in a particular column or a group of rows and searching a particular account. From a user
perspective, we have added a safe password encryption which uses our ‘password’ database made
for this sole purpose. Users can also easily check their balances or do transactions in simple and
easy steps.
AIM
● The objective of this project is to let us apply programming knowledge into a real- world
situation/problem and expose how programming skills help in developing a good software.
Idea Source
● Today one cannot afford to rely on the fallible human beings who really want to stand against
today’s merciless competition where not too wise saying “to err is human” is no longer valid, it’s
outdated to rationalize your mistake. So, to keep pace with time, to bring about the best result
without malfunctioning and greater efficiency so to replace the unending heaps of flies with a
much sophisticated hard disk of the computer.
● Moreover as in the recent years lifestyles become faster, people want to eliminate things that
take a major amount of time, like waiting in a queue at the bank. Hence there is a major demand
for safe and convenient ways to access banking facilities from anywhere.
● One has to use the data management software. Software has been an ascent in atomization in
various organizations. Many software products working are now in markets, which have helped in
making the organizations work easier and efficiently. Data management initially had to maintain a
lot of ledgers and a lot of paperwork had to be done but now software products in this
organization have made their work faster and easier. Now only this software has to be loaded on
the computer and work can be done.
● This prevents a lot of time and money. The work becomes fully automated and any information
regarding the organization can be obtained by clicking the button. Moreover, now it’s an age of
computers and automating such an organization gives a better look.
Plan For Implementation
Type of Data: MySQL Database
TABLE : ACCOUNTS
S.NO DATA NAME DATA TYPE DESCRIPTION
1. NAME STRING ENTER THE NAME OF THE PERSON OWNING
THE ACCOUNT
2. ACNO INT RESPECTIVE ACCOUNT NO.
3. BBALANCE FLOAT BANK BALANCE
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 5/15
TABLE : PASSWORD
S.NO DATA NAME DATA TYPE DESCRIPTION
1. NAME STRING ENTER THE NAME OF THE PERSON OWNING
THE ACCOUNT
2. ACNO INT RESPECTIVE ACCOUNT NO.
3. PASSWORD STRING PASSWORD TO ACCESS THE ACCOUNT
Tabular Representation of Data :
NAME ACNO BBALANCE
AREON 0987 5000
AADIL 12345 40000
AAKARSH 7890 67500
NAME ACNO PASSWORD
AREON 0987 0987
AADIL 12345 QWERTY
AAKARSH 7890 ASDFGH
Menu Options :
Main Menu Sub Menu
ADMN CUTOMER REGISTRATION
DISPLAY ACCOUNTS
SEARCHING A PARTICULAR ACCOUNT
EDITTING IN AN ACCOUNT
SORTING ACCOUNTS
USER TRANSACTION (WITHDRAW OR DEPOSIT)
CHECK BALANCE
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 6/15
Validation and Add on Features
● In case the user enters any wrong input, we will ask them to retry. The coding will be user
friendly and the users will find everything comfortable. We have some special things for some
people which will be described properly in the coding.
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 7/15
Source Code
# Project Title : <BANK MANAGEMENT SYSTEM>
# Version : 1.0 2022-2023
# Developed By : <AAKARSH GUPTA, AREON BANERJEE & AADIL SAIYED>
# Guide : <MOHITENDRA DEY>
# Last Updated On: <2022-12-01>
import pymysql
db=pymysql.connect(host="localhost", user="root",
password = "*********", database='bank')
C = db.cursor()
# User Defined Functions/Methods
def QR():
Result=C.fetchall()
for r in Result:
print(r)
def CReg():
N = input("Enter Name: ")
AC = int(input("Enter Account Number: "))
BB = float(input("Enter Initial Bank Balance: "))
PP = input("Enter Account Password:")
data = (N,AC,BB)
adata = (N,AC,PP)
ldata = (N,AC,'NO',0,0,0,0)
SQL="INSERT INTO ACCOUNTS VALUES(%s,%s,%s)"
SQL2="INSERT INTO PASSWORD VALUES(%s,%s,%s)"
C.execute(SQL,data)
C.execute(SQL2,adata)
db.commit()
def D():
C.execute("SELECT * FROM ACCOUNTS")
QR()
def Sort():
Sort_On = input("SORT ON[NAME,ACNO, BBALANCE]::: ")
AOD = input("Asc: Ascending Order , Desc: Descending Order:::")
SQL = "SELECT * FROM ACCOUNTS ORDER BY " + Sort_On +" "+ AOD
try:
C.execute(SQL)
QR()
except:
print("Wrong Column or Order")
def Search():
Search_on = input("SEARCH ON[ACNO OR NAME]:::")
VAL = input("Search Value:")
if Search_on =='NAME':
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 8/15
SQL = "SELECT * FROM ACCOUNTS WHERE " + Search_on + " = " + "'"+
VAL+"'"
elif Search_on =='ACNO':
SQL = "SELECT * FROM ACCOUNTS WHERE " + Search_on + " = " + VAL
try:
C.execute(SQL)
print("RECORD FOUND")
QR()
except:
print("Value not found or Incorrect Search_on Value")
def Delete():
Col = input("Column[NAME,ACNO,BBALANCE]:::")
Sign = input("Comparison Value[>,=,<(etc.)]:::")
Val = input("Value:::")
SQL = "DELETE FROM ACCOUNTS WHERE " + Col +" " + Sign + " " + Val
print(SQL)
try:
C.execute(SQL)
D()
except:
print("Wrong Input Values or Record Not found")
def Edit():
while True:
Set_Col = input("SET Column[NAME,ACNO,BBALANCE]:::")
Set_Condition = input("SET CONDITION: ")
Where_Col = input("WHERE Column[NAME,ACNO,BBALANCE]:::")
Where_Condition = input("Where CONDITION: ")
SQL = "UPDATE ACCOUNTS SET " + Set_Col + Set_Condition + " WHERE " +
Where_Col + Where_Condition
print(SQL)
Con = input("Confirm(Y/N): ")
if Con=='Y':
C.execute(SQL)
D()
break
else:
print("Try Again")
def Transact():
while True:
print("Select W :withdrawing, D :depositing, X:EXIT::: ")
a=input()
Acno=(input('RE-ENTER YOUR ACCOUNT NO.:'))
if a=="W":
N=int(input("enter the amount you want to withdraw"))
SQL = "UPDATE ACCOUNTS SET BBALANCE= BBALANCE-"+str(N)+" WHERE
ACNO="+Acno
C.execute(SQL)
print('TRANSACTION SUCCESSFULL')
Check()
db.commit()
break
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 9/15
elif a=="D":
M=int(input("enter the amount you want to deposit"))
SQL = "UPDATE ACCOUNTS SET BBALANCE= BBALANCE+"+str(M)+" WHERE
ACNO="+Acno
C.execute(SQL)
print('TRANSACTION SUCCESSFULL')
Check()
db.commit()
break
elif a=='X':
break
else:
print("Wrong input, try again")
def Check():
Acno=(input('ENTER YOUR ACCOUNT NO. TO CHECK YOUR BALANCE:'))
SQL= 'SELECT BBALANCE FROM ACCOUNTS WHERE ACNO='+Acno ;
C.execute(SQL)
QR()
# Main Code
def main():
Log = input("Admin Login : A, User Login : U ::: ")
if Log=="A" or Log =='a':
P = input("ENTER PASSWORD: ")
if P=='12345':
print("LOGIN SUCCESSFUL")
while True:
AMenu = input("C:Customer Registration, D:Display Accounts,
S:Sort,SE:Search,DEL:Delete,X:Break :::")
if AMenu == 'C':
CReg()
elif AMenu == 'D':
D()
elif AMenu =='S':
Sort()
elif AMenu =='SE':
Search()
elif AMenu =='DEL':
Delete()
elif AMenu == 'E':
Edit()
elif AMenu == 'X':
break
else:
print("Wrong Input")
elif Log=="U" or Log =="u":
Acno =(input("Enter Account Number:"))
P = input("Enter Password:")
SQL= 'SELECT PASSWORD FROM PASSWORD WHERE ACNO='+Acno
C.execute(SQL)
S=C.fetchall()
if P in S[0]:
print('LOGIN SUCCESSFULL')
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 10/15
while True:
Menu = input('T: TRANSACTION, C: CHECK BANK BALANCE, X:
EXIT:::')
if Menu == "T":
Transact()
elif Menu =="C":
Check()
elif Menu == 'X':
break
else:
print("WRONG INPUT")
main()
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 11/15
Output Screen
(All Operations)
ADMN OPERATIONS
CUSTOMER REGISTRATION
(TABLE AFTER REGISTRATION)
DISPLAY ACCOUNTS, SORT, SEARCH
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 12/15
USER OPERATIONS
LOGIN, CHECKING BALANCE, TRANSACTIONS ( WITHDRAW, DEPOSIT)
(PASSWORDS TABLE-USED IN LOGIN) (TABLE AFTER WITHDRAWL)
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 13/15
(TABLE AFTER DEPOSIT)
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 14/15
Hardware & Software Requirement
Hardware Requirement
PC/Laptop/MacBook with
Intel core/i3/i5/i7 or any equivalent
With at least 2 GB RAM
10 MB free space on Hard Disk
LCD/LED
Operating System & Compiler
MS Windows/Ubuntu/MacOS
Python IDLE 3.x
OR
colab.research.google.com (gmail account)
and/or
MySQL 8.x
Project: BANK MANAGEMENT SYSTEM Developed By AREON, AAKARSH & AADIL Page:# 15/15