The document outlines a project titled 'Bank Management System' completed by Subhasish Sarkar for the academic year 2024-25, under the supervision of Mr. Ashish Kumar Singh. It details the project's objectives, hardware and software requirements, user and admin functionalities, and includes Python source code for the system. The project aims to streamline banking operations through a user-friendly interface and efficient data management using Python and MySQL.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0 ratings0% found this document useful (0 votes)
2 views
Class 12 physics
The document outlines a project titled 'Bank Management System' completed by Subhasish Sarkar for the academic year 2024-25, under the supervision of Mr. Ashish Kumar Singh. It details the project's objectives, hardware and software requirements, user and admin functionalities, and includes Python source code for the system. The project aims to streamline banking operations through a user-friendly interface and efficient data management using Python and MySQL.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 15
aq ST sry
SESSION:- 2024-25
PROJECT :- BANK MANAGEMENT SYSTEM
SUBMITTED BY SUBMITTED TO
NAME :- SUBHASISH SARKAR MR ASHISH KUMAR SINGH
CLASS :- XII
ROLL :- 12721618
SUBJECT :- COMPUTER SCIENCECERTIFICATE
This is to certify that, "SUBHASISH SARKAR"
student of class XII of "KENDRIYA VIDAYALAYA
ANDAL' has successfully completed the project
on "BANK MANAGEMENT SYSTEM" under the
supervision of , "MR ASHISH KUMAR SINGH"
during the year 2024-25 in fulfillment of Computer
Science project.
I certify this project up to my expectation and as
per guidelines issued by CBSE, NEW DELHI.
Teacher SignatureACKNOWLEDGEMENT
It is with pleasure that | acknowledge my sincere gratitude to our teacher,
"MR ASHISH KUMAR SINGH" who taught and undertook the responsibility of
teaching the subject computer science. | have been greatly benefited from
his classes.
| am especially indebted to our Principal "MR AMRENDRA KUMAR JHA" who
has always been a source of encouragement and support and without whose
inspiration this project would not have been a successful | would like to place
on record heartfelt thanks to him.
Finally, | would like to express my sincere appreciation for all the other
students for my batch their friendship & the fine time that we all shared
together.CONTENT
. Certificate
. Acknowledgement
. Hardware andsoftware required
. Introduction
. Python Source Code
. MySQL Databases
. Outputs
. ReferencesHARDWARE AND SOFTWARE
REQUIRED
1. HARDWARE
1. Desktop Computer/Laptop
2. Windows 10
2. SOFTWARE
1. Python
2. MY SQL
3. Python connection moduleINTRODUCTION
The project Bank Management System presented here represents a pivotal solution
in the realm of financial management, blending the sophistication of MySQL.as the
database backend with the dynamic capabilities of Python. This amalgamation results
in acomprehensive system that caters to both administrative and user functionalities,
streamlining processes related to account management, feedback collection, and loan
tracking.
Evolution of Management Systems using Python and MySQL Connector
The evolution of management systems, especially in the banking sector, has witnessed
a paradigm shift with the advent of powerful programming languages like Python
and robust database management systems such as MySQL. Python, recognized for
its simplicity, readability, and versatility, serves as the ideal frontend language for
developing user-friendly interfaces. MySQL, on the other hand, provides a reliable and
scalable database solution, ensuring the secure storage and retrieval of crucial banking
information.
The integration of these technologies facilitates a seamless flow of data, enabling
real-time interactions between users and the banking system. The dynamic
connectivity offered by the MySQI, Python Connector ensures efficient communication
between the Python.application and the MySQL database.
Purpose of the Bank Management System
The Bank Management System project aims to address several
key challenges in traditional banking operations. By leveraging
Python's intuitive programming features and MySQL's robust
data management capabilities, the system provides an agile and
user-centric platform for both customers and administrators.
User Functions
-Add Account: Users can easily open new accounts by providing
essential details, streamlining the account creation process.
-View Balance: Account holders can check their account balance in
real-time, fostering transparency and financial awareness.
Give Feedback: The system facilitates a channel for users to provide
feedback, ensuring continuous improvement based on user input.
-View TransactionHistory:Users have access to their transaction
history, aiding in financialrecord-keeping and reconciliation.
Admin Functions
-Add New Accounts: Administrators can add new accounts to the
system, streamlining the process of on boarding new customers.
-View Loan Details: Admin have access to comprehensive loan
details, enabling effective management and decision-making.
-Update Loan Status: The system empowers administrators to update
the status of loans, tracking repayments and ensuring accurate
record-keeping.
-View Loan Defaulters: Admin can identify and view details of
customers who have defaulted on loan payments for a specified
period.
-View User Feedback: The system consolidates user feedback,
providing valuable insights into user experiences and concerns.SOURCE CODE
CREATE DATABASE IF NOT EXISTS
bank_management;
USE bank_management;
CREATE TABLE accounts (
account_number INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
balance FLOAT DEFAULT 0
);
CREATE TABLE transactions (
id INT AUTO_INCREMENT PRIMARY KEY,
account_number INT,
amount FLOAT,
transaction_type ENUM(‘deposit’, withdrawal’),
date_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (account_number) REFERENCES accounts(account_number)
In python
import mysql.connector
def connect_to_db():
return mysql.connector.connect(
host="Localhost",
user="root",
password="your_password",
database="bank_management"
)def create_account(name, initial_deposit):
conn = connect_to_db()
cursor = conn.cursor()
cursor.execute("INSERT INTO accounts (name, balance)
VALUES (%s, %s)", (name, initial_deposit))
conn.commit()
print(f"Account created successfully! Account Number:
{cursor.lastrowid}")
conn.close()
def deposit(account_number, amount):
conn = connect_to_db()
cursor = conn.cursor()
cursor.execute("UPDATE accounts SET balance = balance + %s
WHERE account_number = %s", (amount, account_number))
cursor.execute("INSERT INTO transactions (account_number,
amount, transaction_type) VALUES (%s, %s, ‘deposit')",
(account_number, amount))
conn.commit()
print(f"%{amount} deposited successfully!")
conn.close()def withdraw(account_number, amount):
conn = connect_to_db()
cursor = conn.cursor()
cursor.execute("SELECT balance FROM accounts WHERE
account_number = %s", (account_number,))
balance = cursor.fetchone()
if balance and balance[o] >= amount:
cursor.execute("UPDATE accounts SET balance = balance - %s
WHERE account_number = %s", (amount, account_number)}
cursor.execute("INSERT INTO transactions (account_number,
amount, transaction_type) VALUES (%s, %s, ‘withdrawal')",
(account_number, amount))}
conn.commit(}
print(f"%{amount} withdrawn successfully!")
else:
print("Insufficient funds!")
conn.close()
def view_transactions(account_number):
conn = connect_to_db()
cursor = conn.cursor (}
cursor.execute("SELECT * FROM transactions WHERE
account_number = %s ORDER BY date_time DESC", (account_number,))
transactions = cursor.fetchall (}
if transactions:
print("Transaction History:"
for transaction in transactions:
print(£"ID: {transaction[o]}, Amount: @{transaction[2]}, Type:
{transaction|[3]}, Date: {transaction[4]}")
else:
print("No transactions found!")
conn.close()def view_account|account_number}
conn = connect_to_dbi)
cursor = conn,cursor{)
cursor.execute("SELECT * FROM accounts WHERE account_number = %s", (account_number,))
account = cursor.fetchone()
if account:
print(f*Account Details:\nAccount Number: faccount(o])\nName: faccounthiJ}\nBalance: €faccount|2]}")
else
print("Account not found!")
conn.close()
def main():
while True
print("\n*** Bank Management System ***")
print(’1. Create Account")
print(’2. View Account")
print("3. Deposit Money")
print("s. Withdraw Money")
print("s. View Transaction History")
print("6. Exit’)
choice = input("Enter your choice: ")
if choice ‘1
name = input("Enter your name: *)
initial_deposit = float(input("Enter initial deposit: "))
create_account(name, initial_deposit)
elif choic:
account_number = int(input(*Enter account number:
view_account(account_number)
elif choice == "3":
account_number = int(input{*Enter account number:
amount = float(input("Enter amount to deposit: "))
deposit(account_number, amount)
elif choic:
account_number = int(input("Enter account number:
amount = float(input("Enter amount to withdraw: ")}
withdraw(account_number, amount)
elif choice = Hi
account_number = int(input{*Enter account number:
view_transactions(account_number)
elif choice == "6"
print("Thank you for using the Bank Management System!")
break
else
print("Invalid choice! Please try again.")
main,RUNNING THE PROGRAM
*** Bank Management System ***
1. Create Account
2. View Account
3. Deposit Money
4. Withdraw Money
5. View Transaction History
6. Exit
Enter your choice: 1
Enter your name: John Doe
Enter initial deposit: 5000
output :-
Account created successfully! Account Number: 12.viewing an account :-
Enter your choise : 2
Enter your account number: 1
output :-
Account Details:
Account Number: 1
Name: John Doe
Balance: %5000
3.depositing money :-
Enter your choise: 3
Enter your account number: 1
Enter amount to deposit: 2000
output:-
%2000 deposited successfully!4. withdrawing money
Enter your choise: 4
Enter your account number: 1
Enter amount to withdraw: 1000
output:-
%1000 withdrawn successfully!
5. Viewing transition history
Enter your choise: 5
Enter your account number: 1
output :-
Transaction History:
ID: 1, Amount: 5000, Type: deposit, Date: 2025-01-21 10:00:00
ID: 2, Amount: 2000, Type: deposit, Date: 2025-01-21 10:05:00
ID: 3, Amount: 1000, Type: withdrawal, Date: 2025-01-21 10:10:00
6. Exiting the program:-
Enter your choise: 6
output:
Thank you for using the Bank Management System!BIBLIOGRAPHY
1. Website-
GeeksforGeeks: https://www.geeksforgeeks.org
2. Software and Tools:-
Python 3.11: https://www.python.org
MySQL Community Edition: https://dev.mysql.com/downloads/mysql/
MySQL Connector for Python: https://dev.mysql.com/doc/connector-python/en.org