Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

CERTIFICATE

This is to certify that PARI SONI Roll No: 12438 has successfully

completed the project entitled BANK MANAGEMENT in the subject Computer

Science laid down in the regulations of CBSE for the purpose of Practical

Examination in Class XII to be held in Happy School Darya Ganj .

Mrs. Ritu Pandey


Computer Science

Examiner:
Name: _____________
Signature:
TABLE OF CONTENTS

S.No. DESCRIPTION PAGE NO.

01 ACKNOWLEDGEMENT 4

02 INTRODUCTION 5

03 OBJECTIVE OF PROJECT 6

04 ADVANTAGES OF BANK MANAGEMENT SYSTEM 7

05 FLOW OF EXECUTION 8

06 SOURCE CODE 9

07 OUTPUT RESULTS 18

08 BIBLIOGRAPHY 23
INTRODUCTION

 In today's fast-paced and technology-driven financial landscape,


efficient and secure management of banking operations is
paramount. The Bank Management System is a robust and
sophisticated software solution designed to streamline and
automate the various facets of banking, from customer account
management and transaction processing to regulatory
compliance and data security.

 This comprehensive system serves as the backbone of modern


banking institutions, offering a wide range of features and
functionalities to enhance operational efficiency, customer
service, and financial decision-making. With its user-friendly
interfaces and powerful backend capabilities, the Bank
Management System plays a pivotal role in revolutionizing the
way banks manage their operations and interact with
customers.

 In this era of digital banking, where convenience, speed, and


data integrity are of utmost importance, the Bank Management
System is a critical tool that empowers financial institutions to
meet the ever-evolving demands of their customers while
maintaining the highest standards of security and compliance.

 This introduction will delve deeper into the key components,


features, and benefits of a Bank Management System,
showcasing its indispensable role in the modern banking
ecosystem.
OBJECTIVE OF PROJECT:

 Efficiency and Automation:


One of the primary objectives is to automate routine banking tasks such as
account management, transaction processing, and record-keeping. This
reduces manual errors and increases operational efficiency.
 Customer Service:
Improve customer service by providing faster and more accurate
information regarding accounts, transactions, and services. This enhances
customer satisfaction and loyalty.
 Security:
Ensure the security of customer data, financial transactions, and sensitive
information. Implement robust security measures to protect against
fraud and data breaches.
 Data Management:
Efficiently manage and store customer data, financial records, and
transaction history. This makes it easier to retrieve information when
needed and maintain compliance with regulatory requirements.
 Risk Management:
Identify and mitigate risks associated with banking operations, lending,
and investments. Analyse data to make informed decisions that minimize
financial risks.
 Cost Reduction:
Reduce operational costs by minimizing manual labor, paperwork, and
administrative overhead. Automation can lead to significant cost savings
over time.
 Reporting and Analysis:
Generate accurate and real-time reports for management, auditors, and
regulatory authorities. This helps in monitoring and assessing the
bank's performance and compliance.
ADVANTAGES OF BANK MANAGEMENT SYSTEM:

 Improved Efficiency:
Automation of tasks reduces processing times and errors, leading to
faster and more accurate operations.
 Enhanced Customer Experience:
Customers benefit from quicker transactions, better access to account
information, and improved customer support.
 Increased Security:
Advanced security features protect customer data and financial
assets from unauthorized access and fraud.
 Cost Savings:
Reduce labor costs, paperwork, and the need for physical
infrastructure, leading to long-term cost savings.
 Better Decision-Making:
Access to real-time data and analytical tools enables bank management
to make informed decisions and respond to market changes promptly.
 Streamlined Operations:
All banking operations, including account management, loan processing,
and payment processing, can be streamlined and integrated into a
single system.
 Scalability:
Easily scale the system as the bank grows, accommodating new
branches and services without significant disruptions.
 Data Analytics:
Analyze customer data to identify trends, preferences, and
opportunities for cross-selling and upselling financial products.
 Competitive Advantage:
A well-implemented Bank Management System can give a bank a
competitive edge by providing superior services and efficient operations.

In summary, a Bank Management System is designed to achieve objectives like


efficiency, customer service, security, and cost reduction while offering
advantages such as improved efficiency, enhanced security, and better decision-
making capabilities. When properly implemented, it can be a valuable asset for
banks in today's technology-driven financial industry.
FLOW OF EXECUTION
SOURCE CODE

import mysql.connector

# Establish a connection to the MySQL database


conn = mysql.connector.connect(
host="localhost",
user="root",
password="12345",
database="BANK_MANAGEMENT"
)

cursor = conn.cursor()

# Create a table to store account information if it doesn't exist


cursor.execute('''
CREATE TABLE IF NOT EXISTS accounts (
account_number VARCHAR(255) PRIMARY KEY,
name VARCHAR(255),
phone_number VARCHAR(255),
location VARCHAR(255),
date_of_birth DATE,
balance DECIMAL(10, 2)
)
''')
# Commit changes and close the connection
conn.commit()
conn.close()

#Starting Of Program
print("WELCOME TO BANK MANAGEMENT SYSTEM", end='')

# Dictionary to store account information


accounts = {}

# Function to create a new account


def create_account(account_number, name, phone_number, location,
date_of_birth, initial_balance):
if account_number in accounts:
print("Account number already exists.")
else:
if initial_balance < 0:
print("Initial balance cannot be negative.")
else:
accounts[account_number] = {
"name": name,
"phone_number": phone_number,
"location": location,
"date_of_birth": date_of_birth,
"balance": initial_balance
}
print("Account created successfully.")

# Function to deposit money into an account


def deposit(account_number, amount):
if account_number in accounts:
if amount <= 0:
print("Invalid amount. Please enter a positive amount.")
else:
accounts[account_number]["balance"] += amount
print("Deposit successful.")
print("Current balance:",
accounts[account_number]["balance"])
else:
print("Account not found. Please enter a valid account number.")

# Function to withdraw money from an account


def withdraw(account_number, amount):
if account_number in accounts:
if amount <= 0:
print("Invalid amount. Please enter a positive amount.")
elif amount > accounts[account_number]["balance"]:
print("Insufficient balance.")
else:
accounts[account_number]["balance"] -= amount
print("Withdrawal successful.")
print("Current balance:",
accounts[account_number]["balance"])
else:
print("Account not found. Please enter a valid account number.")

# Function to display account details


def show_details():
if accounts:
print("Account Details:")
print("{:<20} {:<15} {:<15} {:<15} {:<10}".format(
"Account Number", "Name", "Phone Number", "Location",
"Balance"))
print("-" * 80)
for account_number, account_info in accounts.items():
name = account_info["name"]
phone_number = account_info["phone_number"]
location = account_info["location"]
balance = account_info["balance"]
print("{:<20} {:<15} {:<15} {:<15} {:<10.2f}".format(
account_number, name, phone_number, location, balance))
else:
print("No accounts found.")

# Function to inquire about an account


def enquiry(account_number):
if account_number in accounts:
account_info = accounts[account_number]
print("Account Details:")
print("Account Number:", account_number)
print("Name:", account_info["name"])
print("Phone Number:", account_info["phone_number"])
print("Location:", account_info["location"])
print("Date of Birth:", account_info["date_of_birth"])
print("Balance:", account_info["balance"])
else:
print("Account not found. Please enter a valid account number.")

# Function to modify account information


def modify_account(account_number):
if account_number in accounts:
print("Modify Account:")
print("1. Change Name")
print("2. Change Phone Number")
print("3. Change Location")
print("4. Change Date of Birth")
choice = int(input("Enter your choice: "))
if choice == 1:
new_name = input("Enter the new name: ")
accounts[account_number]["name"] = new_name
print("Name has been changed successfully!!")
elif choice == 2:
new_phone_number = input("Enter the new phone number: ")
accounts[account_number]["phone_number"] = new_phone_number
print("Phone Number has been updated successfully!!")
elif choice == 3:
new_location = input("Enter the new location: ")
accounts[account_number]["location"] = new_location
print("Location has been updated successfully!!")
elif choice == 4:
new_date_of_birth = input("Enter the new date of birth (YYYY-MM-DD): ")
accounts[account_number]["date_of_birth"] = new_date_of_birth
print("Date Of Birth has been updated successfully!!")
else:
print("Invalid choice. Please select a valid option.")
else:
print("Account not found. Please enter a valid account number.")

# Function to transfer funds between two accounts


def fund_transfer(from_account_number, to_account_number, amount):
if from_account_number in accounts and to_account_number in accounts:
if amount <= 0:
print("Invalid amount. Please enter a positive amount.")
elif amount > accounts[from_account_number]["balance"]:
print("Insufficient balance for transfer.")
else:
accounts[from_account_number]["balance"] -= amount
accounts[to_account_number]["balance"] += amount
print("Funds transferred successfully.")
print("Current balance for account",
from_account_number, ":", accounts[from_account_number]
["balance"])
print("Current balance for account",
to_account_number, ":", accounts[to_account_number]["balance"])
else:
print("One or both accounts not found. Please enter valid account
numbers.")

# Function to close an account


def close_account(account_number):
if account_number in accounts:
del accounts[account_number]
print("Account closed successfully.")
else:
print("Account not found. Please enter a valid account number.")

# Example usage
while True:
print("\n1. Create Account")
print("2. Deposit")
print("3. Withdraw")
print("4. Details Of All Accounts")
print("5. Single Account Enquiry")
print("6. Modify Account")
print("7. Fund Transfer")
print("8. Close Account")
print("9. Exit")

choice = int(input("Enter your choice: "))

if choice == 1:
account_number = input("Enter the account number: ")
name = input("Enter the name: ")
phone_number = input("Enter the phone number: ")
location = input("Enter the location: ")
date_of_birth = input("Enter the date of birth (YYYY-MM-DD): ")
initial_balance = float(input("Enter the initial balance to start your account
with: "))
create_account(account_number, name, phone_number, location,
date_of_birth, initial_balance)

elif choice == 2:
account_number = input("Enter the account number: ")
amount = float(input("Enter the amount to deposit: "))
deposit(account_number, amount)

elif choice == 3:
account_number = input("Enter the account number: ")
amount = float(input("Enter the amount to withdraw: "))
withdraw(account_number, amount)

elif choice == 4:
show_details()
elif choice == 5:
account_number = input("Enter the account number for enquiry about your
account: ")
enquiry(account_number)

elif choice == 6:
account_number = input("Enter the account number to modify: ")
modify_account(account_number)

elif choice == 7:
from_account_number = input("Enter the account number to transfer from:
")
to_account_number = input("Enter the account number to transfer to: ")
amount = float(input("Enter the amount to transfer: "))
fund_transfer(from_account_number, to_account_number, amount)

elif choice == 8:
account_number = input("Enter the account number to close: ")
close_account(account_number)

elif choice == 9:
print("Thank you for using the BANK MANAGEMENT SYSTEM")
break

else:
print("Invalid choice. Please try again.")
OUTPUT RESULTS

1. Creating An Account

Account 1:

Account 2:
Account 3:

2. Depositing Money
3. Withdrawing Money

4. Viewing Details Of All Accounts


5. Single Account Enquiry

6. Modification Of Account
7. Transfer of Money

8. Closing An Account

9. Exiting the Bank Management System


BIBLIOGRAPHY

 Computer Science With Python – Class XII


By: Preeti Arora

You might also like