0% 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.

Uploaded by

subhasish3434
Copyright
© © All Rights Reserved
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% 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.

Uploaded by

subhasish3434
Copyright
© © All Rights Reserved
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 SCIENCE CERTIFICATE 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 Signature ACKNOWLEDGEMENT 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 . References HARDWARE AND SOFTWARE REQUIRED 1. HARDWARE 1. Desktop Computer/Laptop 2. Windows 10 2. SOFTWARE 1. Python 2. MY SQL 3. Python connection module INTRODUCTION 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: 1 2.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

You might also like