Mustafa Ip Project
Mustafa Ip Project
INFORMATICS PRACTICES
PROJECT
CLASS/SEC: XII C
Sign of Principal:
Sign of Student:
Page 2 of 38
Date of submission:
AKNOWLEDGEM
ENT
I am extremely thankful to my teacher Mrs.Ruby,
for the constant support, motivation and insights
provided throughout the project “BANK
MANAGEMENT SYSTEM”.
I sincerely appreciate our Senior Principal, Dr.
Nalini Wilson, for permitting access to the well-
equipped lab and the resources required for the
project.
My special thanks to my friends and family for
assisting me during the experiments and
measurements.
The encouragement from my teacher, principal and
friends was invaluable. I will always remain grateful
for their support.
Page 3 of 38
Mustafa Kutubuddin
XII C
Commerce
INDEX
Page 4 of 38
S.N Particulars Pag
O e
1. INTRODUCTION 6
2. Objectives of 8
Bank
Management
system
3. Problems faced by 10
offline Bank
Management
system
4. Introduction to 13
Python
5. Introduction to 16
CSV
6. MINIMUM SYSTEM 20
REQUIREMENTS
7. SOURCE 21
CODE+DATA FILE
Page 5 of 38
8. OUTPUT 30
INTRODUCTIO
N
to Bank Management Using Python and SQL in
Informatics Practices:
Page 6 of 38
systems makes it an ideal choice for building robust bank
management systems.
Page 7 of 38
OBJECTIVES OF BANK
MANAGEMENT SYSTEM:
Page 9 of 38
Problems Faced by
Offline Bank
Management Systems:
1. Manual Data Entry Errors:
- Human errors during data entry can lead to inaccuracies in
customer records, transaction details, and financial reporting,
causing discrepancies and potential financial losses.
4. Limited Accessibility:
- Customers and bank staff can only access the system from the
physical bank location, leading to inconvenience for users who
require services outside of banking hours or remotely.
Page 10 of 38
5. Inefficient Customer Service:
- Without automation, customer service relies on manual
processes, which can slow down account creation, transaction
approvals, and response times, negatively impacting customer
satisfaction.
Page 11 of 38
10. High Operational Costs:
- Offline systems often require extensive manual labor and
paperwork, leading to higher operational costs, including physical
storage, document management, and employee workload.
Page 12 of 38
BRIEF INTRODUCTION ON
PYTHON:
Python is a "high-level" (essentially human readable -
not machine code) general purpose opensource programming
language that is used in a wide variety of applications like
scientific computing, data analysis, web development and
artificial intelligence. Because it is open source there are vast
quantities of freely accessible libraries along containing code that
can be integrated into projects. There are also robust
programming communities of coders who freely share information
over the web and thus there is an ecosystem we can tap into and
potentially contribute to, as we develop our projects. Python will
not be the only programming language we will need to use in this
class, but it is an ideal language to learn coding with.
By a high level program language we mean it is not running the
hardware, but run in a virtual environment using the python
interpreter (note, we capitalize Python when we refer to the
language, and do not capitalize python when referring to the
interpreter, which is essentially the virtual environment it runs in).
Because of this, it can be run on a wide variety of platforms, like
Windows, MacOS, Linux, and Unix.
How was Python Created?
Python is a general-purpose interpreted high-level programming
language that was created in the Netherlands by the Dutch
programmer Guido Van Rossum in 1991. It started as a hobby
project for the programmer to avoid boredom and keep himself
busy during the Christmas season.
The name "Python" came from Guido's being a big fan of the
comedy troupe "Monty Python's Flying Circus" from the 1970s.
Page 13 of 38
Python was mainly developed to help programmers express
concepts in fewer lines of code and to make their code more
readable.
Page 14 of 38
2. Keras: Keras is a popular deep learning library that is
built on top of TensorFlow and Theano, and is widely
used for building neural networks.
3. OpenCV: OpenCV is a computer vision library that is
widely used for image and video processing, and is built
using Python.
4. Automation:
1. Automation Anywhere: Automation Anywhere is a
robotic process automation (RPA) platform that uses
Python to automate repetitive tasks.
2. Ansible: Ansible is an automation tool that uses Python
to automate IT tasks, such as configuration
management and deployment.
3. SaltStack: SaltStack is an automation platform that
uses Python to automate IT tasks, such as configuration
management and deployment.
5. Education:
1. Codecademy: Codecademy is an online learning
platform that uses Python to teach programming
concepts and skills.
2. Coursera: Coursera is an online learning platform that
uses Python to teach data science and machine
learning courses.
3. edX: edX is an online learning platform that uses
Python to teach computer science and data science
courses.
These are just a few examples of the many ways that Python is
used in real-world projects and use cases. Python's versatility,
ease of use, and large community make it a popular choice for a
wide range of application.
Page 15 of 38
BRIEF INTRODUCTION ON
CSV:
(comma separated value)
Structured data plays a critical role in data management and
information exchange, and the CSV file format is one of the
simplest formats for representing structured data. Whether you're
a data analyst or software developer, or you work with data in any
capacity, understanding what the CSV file format is, when it’s
useful and how it works is a fundamental skill.
A CSV is a commonly used file extension for spreadsheets. Even
software programs that don't look and feel like a spreadsheet
application frequently offer a CSV file type as an output file for
downloading a dataset (like a contact list, a supply list or a report
of results or actions). Why? Because CSVs are incredibly easy to
edit and share!
In this post, we dive into what (exactly) a CSV file type is, how
they're used in different software applications and how to create,
edit, export and import them
What is a CSV file?
“CSV” refers to the CSV file extension, meaning any file that ends
in ".csv." The .csv file extension stands for "comma-separated
value” file, and it's one of the most common outputs for any
spreadsheet program.
A comma-separated value file refers to a file where the data is
input as data separated by commas. A spreadsheet application
Page 16 of 38
converts those comma-separated pieces of data into cells in
tables to make them easier to read and edit.
In Windows, you can click on any file to see a preview of it in the
file explorer folder on the right. If you click on an Excel CSV file,
you can actually see what it looks like behind the scenes: A mess
of data separated by commas. Thank goodness for programs like
Microsoft Excel and Google Sheets, which make this data much
more manageable than just a block of text with a ton of commas!
The types of software that use the CSV file format
Many types of software use the CSV file format. The two most
common ways a CSV file would be used are inputting and
outputting. On the input side, a CSV file will be imported, bringing
data in to be utilized within a software program. As for outputting,
a CSV is a standard output file format because software users can
easily edit and share CSV file reports or datasets.
Let's look at some examples to better understand how software
utilizes CSV files.
Common use cases for importing CSV files
One of the most common reasons to import a CSV file in the
business world is to upload a list of customer contacts. You might
do this when onboarding data to a new email marketing software
like Active Campaign.
Another type of software that could require you to upload a list of
customer contacts would be a CRM like HubSpot or Nutshell.
Referral marketing software like Grow Surf could also require you
to upload customer lists to add customers to your referral
program so they can generate a unique referral link to share your
business with their friends.
There are, of course, numerous other datasets you might want to
upload beyond customer lists. For example, if you're an
ecommerce company, you might need to upload a list of your
product SKUs to an inventory management system or order
fulfillment software.
Page 17 of 38
Common use cases for exporting CSV files Not only do many
software programs input CSVs, but they also output them. A CSV
file format is a standard exporting format because it's well-
recognized and widely used. Its simplicity has led to its adoption
by so many programs that few software developers want to stray
from CSVs with a different file format when exporting spreadsheet
data. Some programs will give you the option of exporting CSV or
PDF, such as Gusto's custom report builder, but when it comes to
spreadsheet data, a CSV export is the most common file format.
Page 18 of 38
Evaluating Flat file for your business needs?
Reach out to our experts today to scope your data conversion,
onboarding and migration processes
Page 19 of 38
Thousands of software programs utilize CSV files. The CSV import
process will differ slightly for each one, but due to
the consumerization of enterprise tech, even business programs
should have easy-to-use CSV import features.
Most CSV importers follow this process:
Select the file you want to upload: From your computer,
select the correct CSV file you want to import to your
software program.
Match the columns to the appropriate fields: The next
step is to match the headings in your CSV columns to the
data fields used and understood by your software.
Address any errors: A quality CSV importer should be able
to explain if anything goes wrong clearly.
Page 20 of 38
MINIMUM SYSTEM
REQUIREMENTS:
Page 21 of 38
These specifications ensure optimal performance for data
analysis, machine learning, and larger-scale projects,
enabling efficient multitasking, data management, and fast
processing.
SOURCE CODE:
import csv
import os
class Account:
accNo = 0
name = ''
deposit = 0
type = ''
def createAccount(self):
self.accNo = int(input("Enter the account no : "))
self.name = input("Enter the account holder name : ")
self.type = input("Enter the type of account [C/S] : ")
self.deposit = int(input("Enter The Initial amount(>=500 for
Saving and >=1000 for current"))
print("\n\n\nAccount Created")
Page 22 of 38
def showAccount(self):
print("Account Number : ", self.accNo)
print("Account Holder Name : ", self.name)
print("Type of Account", self.type)
print("Balance : ", self.deposit)
def modifyAccount(self):
print("Account Number : ", self.accNo)
self.name = input("Modify Account Holder Name :")
self.type = input("Modify type of Account :")
self.deposit = int(input("Modify Balance :"))
def report(self):
print(self.accNo, " ", self.name, " ", self.type, " ", self.deposit)
def getAccountNo(self):
return self.accNo
def getAcccountHolderName(self):
Page 23 of 38
return self.name
def getAccountType(self):
return self.type
def getDeposit(self):
return self.deposit
def intro():
print("\t\t\t\t**********************")
print("\t\t\t\tBANK MANAGEMENT SYSTEM")
print("\t\t\t\t**********************")
input("Press Enter To Continue: ")
def writeAccount():
account = Account()
account.createAccount()
writeAccountsFile(account)
def displayAll():
with open('accounts.csv', 'r') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['accNo'], " ", row['name'], " ", row['type'], " ",
row['deposit'])
Page 24 of 38
def displaySp(num):
with open('accounts.csv', 'r') as csvfile:
reader = csv.DictReader(csvfile)
found = False
for row in reader:
if int(row['accNo']) == num:
print("Your account Balance is = ", row['deposit'])
found = True
if not found:
print("No existing record with this number")
Page 25 of 38
if amount <= int(item['deposit']):
item['deposit'] = str(int(item['deposit']) - amount)
else:
print("You cannot withdraw larger amount")
with open('accounts.csv', 'w', newline='') as csvfile:
fieldnames = ['accNo', 'name', 'type', 'deposit']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(mylist)
def deleteAccount(num):
with open('accounts.csv', 'r') as csvfile:
reader = csv.DictReader(csvfile)
mylist = []
for row in reader:
mylist.append(row)
newlist = []
for item in mylist:
if int(item['accNo']) != num:
newlist.append(item)
with open('accounts.csv', 'w', newline='') as csvfile:
fieldnames = ['accNo', 'name', 'type', 'deposit']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(newlist)
Page 26 of 38
def modifyAccount(num):
with open('accounts.csv', 'r') as csvfile:
reader = csv.DictReader(csvfile)
mylist = []
for row in reader:
mylist.append(row)
for item in mylist:
if int(item['accNo']) == num:
item['name'] = input("Enter the account holder name : ")
item['type'] = input("Enter the account Type : ")
item['deposit'] = input("Enter the Amount : ")
with open('accounts.csv', 'w', newline='') as csvfile:
fieldnames = ['accNo', 'name', 'type', 'deposit']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(mylist)
def writeAccountsFile(account):
with open('accounts.csv', 'a', newline='') as csvfile:
fieldnames = ['accNo', 'name', 'type', 'deposit']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
if csvfile.tell() == 0:
writer.writeheader()
Page 27 of 38
writer.writerow({'accNo': str(account.accNo), 'name':
account.name, 'type': account.type, 'deposit':
str(account.deposit)})
while ch != 8:
# system("cls");
print("\tMAIN MENU")
print("\t1. NEW ACCOUNT")
print("\t2. DEPOSIT AMOUNT")
print("\t3. WITHDRAW AMOUNT")
print("\t4. BALANCE ENQUIRY")
print("\t5. ALL ACCOUNT HOLDER LIST")
print("\t6. CLOSE AN ACCOUNT")
print("\t7. MODIFY AN ACCOUNT")
print("\t8. EXIT")
print("\tSelect Your Option (1-8) ")
ch = input()
# system("cls");
if ch == '1':
writeAccount()
Page 28 of 38
elif ch == '2':
num = int(input("\tEnter The account No. : "))
depositAndWithdraw(num, 1)
elif ch == '3':
num = int(input("\tEnter The account No. : "))
depositAndWithdraw(num, 2)
elif ch == '4':
num = int(input("\tEnter The account No. : "))
displaySp(num)
elif ch == '5':
displayAll()
elif ch == '6':
num = int(input("\tEnter The account No. : "))
deleteAccount(num)
elif ch == '7':
num = int(input("\tEnter The account No. : "))
modifyAccount(num)
elif ch == '8':
print("\tThanks for using bank management system")
break
else:
print("Invalid choice")
ch = input("Enter your choice : ")
DATA FILE
Page 29 of 38
Page 30 of 38
OUTPUT
Page 31 of 38
Page 32 of 38
Page 33 of 38
Page 34 of 38
Page 35 of 38
Page 36 of 38
BIBLIOGRAPHY
www.teradata.com
www.python.org
www.flatfile.com
www.fundrecs.com
Google images
Page 37 of 38
THANK
YOU!
Page 38 of 38