0% found this document useful (0 votes)
286 views17 pages

Shri Guru Ram Rai Public School Vasant Vihar Dehradun: ACADEMIC YEAR: 2021-22

The document is a project report for a Bank Management System created by Harshit Rastogi for his class 12 computer science project. The project uses Python and MySQL to create a database to store customer account information and allow transactions. The report includes an introduction, objectives, descriptions of Python and MySQL, flowcharts, source code files to create tables and handle menus/transactions, and hardware/software requirements.

Uploaded by

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

Shri Guru Ram Rai Public School Vasant Vihar Dehradun: ACADEMIC YEAR: 2021-22

The document is a project report for a Bank Management System created by Harshit Rastogi for his class 12 computer science project. The project uses Python and MySQL to create a database to store customer account information and allow transactions. The report includes an introduction, objectives, descriptions of Python and MySQL, flowcharts, source code files to create tables and handle menus/transactions, and hardware/software requirements.

Uploaded by

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

SHRI GURU RAM RAI PUBLIC SCHOOL

VASANT VIHAR DEHRADUN

ACADEMIC YEAR : 2021- 22

PROJECT REPORT ON
BANK MANAGEMENT SYSTEM

NAME : HARSHIT RASTOGI


ROLL NO : 09
CLASS :. 12TH - B
SUBJECT : COMPUTER SCIENCE (NEW)
SUB CODE : 083
PROJECT GUIDE : MRS.NEEMA SHARMA
PGT (CS)
SHRI GURU RAM RAI PUBLIC SCHOOL
VASANT VIHAR DEHRADUN
SHRI GURU RAM RAI PUBLIC SCHOOL
VASANT VIHAR DEHRADUN

CERTIFICATE

This is to certify that Cadet: HARSHIT RASTOGI CBSE Roll No: 09


has successfully completed the project work entitled "BANK
MANAGEMENT SYSTEM"in the subject Computer Science (083)
laid down in the regulations of CBSE for the purpose of Practical
Examination in Class XII to be held in SGRR Public School Vasant
Vihar Dehradun on ______________.

(Mrs Neema Sharma)


PGT Computer Science

Examiner:
Name:
Signature:
Date:
TABLE OF CONTENTS

Sr. DESCRIPTION
1. ACKNOWLEDGEMENT
2. INTRODUCTION
3. OBJECTIVES OF THE PROJECT
4. ABOUT PYTHON
5. ABOUT MYSQL
6. FLOW CHART
7. SOURCE CODE
8. OUTPUT
9. HARDWARE AND SOFTWARE
REQUIREMENTS
10. INSTALLATION PROCEDURE
11. BIBLIOGRAPHY
ACKNOWLEDGEMENT

Apart from the efforts of me, the success of any project


depends largely on the encouragement and guidelines of many
others. I take this opportunity to express my gratitude to the
people who have been instrumental in the successful
completion of this project.

I express deep sense of gratitude to almighty God for giving me


strength for the successful completion of the project.

I express my heartfelt gratitude to my parents for constant


encouragement while carrying out this project.

I gratefully acknowledge the contribution of the individuals who


contributed in bringing this project up to this level, who
continues to look after me despite my flaws.

My sincere thanks to Mrs Neema Sharma, Master In-charge,


a guide, mentor all the above a friend,who critically reviewed
my project and helped in solving each and every problem,
occurred during implementation of the project.

The guidance and support received from all the members who
contributed to this project, was vital for the success of the
project.I am grateful for their constant support and help.
INTRODUCTION

"BANK MANAGEMENT SYSTEM" This project is useful for the


bank employees as well as customers to keep a track of account
details. The emerging 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 a digital system one can generate
daily reports, monthly reports and annual reports which can
enhance the system.

OBJECTIVES OF THE PROJECT

The objective of this project is to let the students apply the programming
knowledge into a real- world situation/problem and expose the students
to how programming skills helps in developing a good software.
1. Write programs utilizing modern software tools.
2. Apply object oriented programming principles effectively when
developing small to medium sized projects.
3. Write effective procedural code to solve small to medium sized
problems.
4. Students will demonstrate a breadth of knowledge in computer
science, as exemplified in the areas of systems, theory and
software development.
5. Students will demonstrate ability to conduct a research or applied
Computer Science project, requiring writing and presentation skills
which exemplify scholarly style in computer science.
ABOUT PYTHON:

Python is an interpreted, object-oriented, high-level programming


language with dynamic semantics. Its high-level built in data
structures, combined with dynamic typing and dynamic binding,
make it very attractive for Rapid Application Development, as well
as for use as a scripting or glue language to connect existing
components together. Python's simple, easy to learn syntax
emphasizes readability and therefore reduces the cost of program
maintenance.Python supports modules and packages, which
encourages program modularity and code reuse.

The Python interpreter and the extensive standard library are


available in source or binary form without charge for all major
platforms, and can be freely distributed.Often, programmers fall in
love with Python because of the increased productivity it provides.
Since there is no compilation step, the edit-test-debug cycle is
incredibly fast. Debugging Python programs is easy: a bug or bad
input will never cause a segmentation fault. Instead, when the
interpreter discovers an error, it raises an exception. When the
program doesn't catch the exception, the interpreter prints a stack
trace.
A source level debugger allows inspection of local and global
variables,evaluation of arbitrary expressions, setting breakpoints,
stepping through the code a line at a time, and so on.The debugger
is written in Python itself, testifying to Python's introspective
power. On the other hand, often the quickest way to debug a
program is to add a few print statements to the source: the fast
edit-test-debug cycle makes this simple approach very effective.
ABOUT MYSQL:

MySQL is a fast, easy-to-use RDBMS being used for many small


and big businesses. MySQL is developed, marketed and
supported by MySQL AB, which is a Swedish company. MySQL is
becoming so popular because of many good reasons -

1. MySQL is released under an open-source license.So you


have nothing to pay to use it.
2. MySQL is a very powerful program in its own right. It handles
a large subset of the functionality of the most expensive and
powerful database packages.
3. MySQL uses a standard form of the well-known SQL data
language.
4. MySQL works on many operating systems and with many
languages including PHP, PERL, C, C++, JAVA, etc.
5. MySQL works very quickly and works well even with large
data sets.
6. MySQL is very friendly to PHP, the most appreciated language
for web development.
7. MySQL supports large databases, up to 50 million rows or
more in a table. The default file size limit for a table is 4GB,
but you can increase this (if your operating system can handle
it) to a theoretical limit of 8 million terabytes (TB).
8. MySQL is customizable.The open-source GPL license allows
programmers to modify the MySQL software to fit their own
specific environments.
FLOW CHART
SOURCE CODE

TABLE.PY

1. import mysql.connector as sql


2. conn=sql.connect(host='localhost',user='root',password
='manager' database='bank')
3. if conn.is_connected():
4. print('Connected Successfully')
5. cur = conn.cursor()
6. cur.execute('create table customer_details(acct_noint
primary key,acct_namevarchar(25)
,phone_nobigint(25) check(phone_no>11),address
varchar(25),cr_amt float)')

USER_TABLE.PY

1. import mysql.connector as sql


2. conn=sql.connect(host='localhost',user='root',password=
'manager',database='test')
3. cur = conn.cursor()
4. cur.execute('create table user_table(username
varchar(25) primary key,password varchar(25)')
TRANSACTION_TABLE.PY

1. import mysql.connector as sql


2. conn=sql.connect(host='localhost',user='root',password=
'manager',database='test')
3. cur = conn.cursor()
4. cur.execute('create table transactions(acct_no
int(11),date date ,withdrawal_amt
bigint(20),amount_added bigint(20)'))

CUSTOMER_DETAILS.PY
1. import mysql.connector as sql
2. conn=sql.connect(host='localhost',user='root',password=
'manager',database='test')
3. cur = conn.cursor()
4. cur.execute('create table custom_details(accnumber
varchar(25) primary key,accnamevarchar(25),phoneno
varchar(25),place varchar(25),creditamnt varchar(25))')

MENU.PY

1. import mysql.connector as sql


2. conn=sql.connect(host='localhost',user='root',password=
'manager',database='bank')
3. cur = conn.cursor()
4. conn.autocommit = True
5. print('1.CREATE BANK ACCOUNT')
print('2.TRANSACTION')
6. print('3.CUSTOMER DETAILS')
7. print('4.TRANSACTION DETAILS’)
8. print('5.DELETE DETAILS')
9. print('6.QUIT')

10. n=int(input('Enter your CHOICE='))


11. if n == 1:
12. acc_no=int(input('Enter your ACCOUNT NUMBER='))
13. acc_name=input('Enter your ACCOUNT NAME=')
14. ph_no=int(input('Enter your PHONE NUMBER='))
15. add=(input('Enter your place='))
16. cr_amt=int(input('Enter your credit amount='))
17. V_ SQLInsert=("INSERT INTO customer_details values
(" + str (acc_no) + ",' " + acc_name + " ',"+str(ph_no) +
",' " +add + " ',"+ str (cr_amt) + " )")
18. cur.execute(V_SQLInsert)
19. print('Account Created Successfully!!!!!')
20. conn.commit()

21. if n == 2:
22. acct_no=int(input('Enter Your Account Number='))
23. cur.execute('select * from customer_details where
acct_no='+str (acct_no))
24. data=cur.fetchall()
25. count=cur.rowcount
26. conn.commit()
27. if count == 0:
28. print('Account Number Invalid Sorry Try Again
Later’)
29. else:
30. print('1.WITHDRAW AMOUNT')
31. print('2.ADD AMOUNT')
32. x=int(input('Enter your CHOICE='))

33. if x == 1:
34. amt=int(input('Enter withdrawal amount='))
35. cur.execute('update customer_details set
cr_amt=cr_amt-'+str(amt) + ' where acct_no=' +str(
acct_no) )
36. conn.commit()
37. print('Account Updated Successfully!!!!!')

38. if x== 2:
39. amt=int(input('Enter amount to be added='))
40. cur.execute('update customer_details set cr_amt=
cr_amt+'+str(amt) + ' where acct_no=' +str(acct_ no) )
41. conn.commit()
42. print('Account Updated Successfully!!!!!')

43. if n == 3:
44. acct_no=int(input('Enter your account number=')
45. cur.execute('select * from customer_details where
acct_no='+str(acct_no) )
46. if cur.fetchone() is None:
47. print('Invalid Account number')
48. else:
49. cur.execute('select * from customer_details where
acct_no='+str(acct_no))
50. data=cur.fetchall()
51. for row in data:
52. print('ACCOUNT NO=',acct_no)
53. print('ACCOUNT NAME=',row[1])
54. print(' PHONE NUMBER=',row[2])
55. print('ADDRESS=',row[3])
56. print('cr_amt=',row[4])

57. if n== 4:
58. acct_no=int(input('Enter your account number='))
59. print()
60. cur.execute('select * from customer_details where
acct_no='+str(acct_no))
61. if cur.fetchone() is None:
62. print()
63. print('Invalid Account number')
64. else:
65. cur.execute('select * from transactions where
acct_no ='+str(acct_no) )
66. data=cur.fetchall()
67. for row in data:
68. print('ACCOUNT NO=',acct_no)
69. print()
70. print('DATE=',row[1])
71. print()
72. print(' WITHDRAWAL AMOUNT=',row[2])
73. print()
74. print('AMOUNT ADDED=',row[3])
75. print()

76. if n == 5:
77. print('DELETE YOUR ACCOUNT')
acct_no=int(input('Enter your account number='))
78. cur.execute('delete from customer_details where
acct_ no='+str(acct_no) )
79. print('ACCOUNT DELETED SUCCESSFULLY')

80. if n == 6:
81. quit()
MAIN.PY

1. import mysql.connector as sql


2. conn=sql.connect(host='localhost',user='root',password
='manager',database='bank')
3. cur = conn.cursor()
4. cur.execute('create table user_table(username
varchar(25) primary key,password varchar(25) not
null)')
5. print('1.REGISTER')
6. print('2.LOGIN')
7. n=int(input('Enter your choice='))
8. if n== 1:
9. name=input('Enter a Username=')
10. password=int(input('Enter a 4 DIGIT Password='))
11. V_SQLInsert=("INSERT INTOuser_table
(password,username )values (" + str (passwd) + ",' " +
name + " ') ")
12. cur.execute(V_SQLInsert)
13. conn.commit()
14. print('USER created successfully')

15. if n==2 :
16. name=input('Enter your Username=')
17. passwd=int(input('Enter your 4 DIGIT Password='))
18. V_Sql_Sel=("select * from user_table where
password='"+ str (passwd)+"' and username= ' "
+name+ " ' ")
19. cur.execute(V_Sql_Sel)
20. if cur.fetchone() is None:
21. print('Invalid username or password')
22. else:
23. import main
HARDWARE AND SOFTWARE REQUIREMENTS

1. OPERATING SYSTEM WINDOWS 7 AND ABOVE


2. PROCESSOR PENTIUM(ANY) OR
AMD ATHLON(3800+
4200+ DUAL CORE)
3. MOTHERBOARD 1.845 OR 915,995 FOR
PENTIUM 0R MSI
K9MM-V VIA
K8M800+8237R PLUS
CHIPSET FOR AMD
ATHLON
4. RAM 512MB+

5. Hard disk SATA 40 GB OR ABOVE

6. CD/DVD r/w multi drive (If back up required)


combo
7. FLOPPY DRIVE 1.44 MB (If Backup required)

8. MONITOR 14.1 or 15 -17 inch

9. Keyboard and Mouse Standard Quality

10. Printer (if print is required –


[Hard copy])

SOFTWARE REQUIREMENTS:
1. Windows OS
2. Python
INSTALLATION PROCEDURE

1. Install python and my sql from the web.


2. Open mysql and create the database bank.
3. Then run the table.py file.
4. Next run the user_table.py file.
5. Then run the transactions_table.py file.
6. Then run the customer_details.py file.
7. Open the main_bank.py file.
8. Then register your account.

BIBLIOGRAPHY

Preeti, Arora. "Everything About Python" Computer Science


with Python Class XI Vol 1 (2021): 1.1-4.89.

Preeti, Arora. "Everything About Python, SQL and Database"


Computer Science with Python Class XII Vol 1 (2021): 1.1-9.28.

Website:https://pythonworld.in/practical-project/project-list/
https://www.zenflowchart.com/
https://www.python.org/
https://www.mysql.com/
https://en.m.wikipedia.org/wiki/

You might also like