0% found this document useful (0 votes)
19 views20 pages

Bank Management System Project Report

Uploaded by

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

Bank Management System Project Report

Uploaded by

kuhelikabir100
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

BODHICARIYA SENIOR

SECONDARY SCHOOL

AISSCE 2024-25 COMPUTER


PROJECT

NAME: Ankit Ghosh


CLASS: XII

SECTION: commerce
ROLL NO:
TOPIC: BANK MANAGEMENT SYSTEM
ACKNOWLEDGEMENT

I would like to convey my sincere thanks to


my Computer teacher who always gave me valuable
suggestion and guidance during the project He was a
source of inspiration and helped me understand and
remember important details of the project. He gave me
an amazing opportunity to do this wonderful project.
I also thank my parents and friends for their help and
support in finalizing this project within the limited time
frame
CERTIFICATE

This is to certify that Subhransu Chaudhuri of


class XII has successfully completed the Computer
Project on the topic "Bank Management System' as
per the guidelines of class XII Board Examination
conducted by CBSE

External Examiner Internal Examiner


INDEX

1. Acknowledgment

2. Certificate

3. Features of the Project

4. Source Code

5. Output Screen

6. Hardware and software requirements

7. Bibliography
FEATURES OF THE SYSTEM-: PROPOSED

Bank where the user will be allowed to create, close or


perform other The program provides an interactive
computer-based system to interact with a operations
on his/her bank account. The user has to create at
least one bank account if the program is used for the
first time. A database would store all the details of
account. On launching the program, it opens the Main
Menu allowing user to new account -If the user does
not have any account yet or wants to have multiple
accounts in the Bank, they can opt for it. They have to
enter Create a certain details and then will be
provided with an account number and a password.
Manage Account if the user already has an account in
the system, they can performvarious operations on it
by logging in using A/c No. and Password.

Exit-To end the program


This activates that account and thereafter the users
can carry out the following Operations on their bank
account provided that they enter the correct
credentials on demand:

Fund Transfer - To transfer certain amount from


currently activated account to anotherpresent in the
system. Recurring Bill Payment -Just select the
Recipient's account and enter bill amount to set upon
Automatic Amount Transfer monthly from the
activated account Display customer detall's-Displays
Account Details on the Screen Request for a
Debit/Credit card-To make a request for a Debit or
Credit card from theBank as per user's choice.

Change Password - To update password

Close an account-To close the activated account and


delete all its data.
#SOURCE CODE

# Importing required libraries


import sqlite3 # For database management
import random # For generating random account and customer IDs

# Establishing a connection to SQLite database


connection = [Link]('bank_management.db')
cursor = [Link]()

# Create accounts table if it does not exist


[Link]("""
CREATE TABLE IF NOT EXISTS accounts (
account_no INTEGER PRIMARY KEY, -- Unique account number
customer_id INTEGER UNIQUE, -- Unique customer ID
name TEXT, -- Account holder's name
phone_no TEXT, -- Phone number
email TEXT, -- Email ID
aadhaar TEXT, -- Aadhaar number
dob TEXT, -- Date of Birth
balance REAL, -- Account balance
password TEXT -- Account password
);
""")
[Link]() # Commit the table creation

# Function to generate random account and customer IDs


def generate_account_details():
"""Generates a unique account number and customer ID."""
account_no = [Link](1000000000, 9999999999) # Random
10-digit account number
customer_id = [Link](10000, 99999) # Random 5-digit
customer ID
return account_no, customer_id

# Function to create a new bank account


def create_account():
"""Creates a new account with user-provided details."""
print("\n--- Create New Account ---")
name = input("Enter Full Name: ")
phone_no = input("Enter Phone Number: ")
email = input("Enter Email Address: ")
aadhaar = input("Enter Aadhaar Number: ")
dob = input("Enter Date of Birth (YYYY-MM-DD): ")
balance = float(input("Enter Initial Deposit Amount: "))
password = input("Set Account Password: ")

# Generate unique account number and customer ID


account_no, customer_id = generate_account_details()

# Insert account details into the database


[Link]("""
INSERT INTO accounts (account_no, customer_id, name, phone_no,
email, aadhaar, dob, balance, password)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
""", (account_no, customer_id, name, phone_no, email, aadhaar, dob,
balance, password))
[Link]() # Commit the transaction

print("\nAccount created successfully!")


print(f"Your Account Number: {account_no}")
print(f"Your Customer ID: {customer_id}")

# Function for user login


def login():
"""Authenticates user by Customer ID and Password."""
print("\n--- Login ---")
customer_id = input("Enter Customer ID: ")
password = input("Enter Password: ")

# Fetch user details from the database


[Link]("SELECT * FROM accounts WHERE customer_id = ? AND
password = ?", (customer_id, password))
account = [Link]()

if account:
print("\nLogin Successful!")
return account # Return the user's account details
else:
print("\nInvalid Customer ID or Password!")
return None

# Function to display account details


def display_account(account):
"""Displays the account details for a logged-in user."""
print("\n--- Account Details ---")
print(f"Account Number: {account[0]}")
print(f"Customer ID: {account[1]}")
print(f"Name: {account[2]}")
print(f"Phone Number: {account[3]}")
print(f"Email: {account[4]}")
print(f"Aadhaar Number: {account[5]}")
print(f"Date of Birth: {account[6]}")
print(f"Balance: {account[7]}")

# Function to deposit money


def deposit(account):
"""Allows the user to deposit money into their account."""
print("\n--- Deposit Money ---")
amount = float(input("Enter the amount to deposit: "))
if amount > 0:
new_balance = account[7] + amount
[Link]("UPDATE accounts SET balance = ? WHERE
account_no = ?", (new_balance, account[0]))
[Link]() # Commit the transaction
print(f"Deposit successful! New Balance: {new_balance}")
else:
print("Invalid deposit amount!")

# Function to withdraw money


def withdraw(account):
"""Allows the user to withdraw money from their account."""
print("\n--- Withdraw Money ---")
amount = float(input("Enter the amount to withdraw: "))
if 0 < amount <= account[7]:
new_balance = account[7] - amount
[Link]("UPDATE accounts SET balance = ? WHERE
account_no = ?", (new_balance, account[0]))
[Link]() # Commit the transaction
print(f"Withdrawal successful! New Balance: {new_balance}")
else:
print("Invalid withdrawal amount or insufficient balance!")
# Function to delete an account
def delete_account(account):
"""Deletes the logged-in user's account."""
print("\n--- Delete Account ---")
confirmation = input("Are you sure you want to delete your account?
(yes/no): ").lower()
if confirmation == 'yes':
[Link]("DELETE FROM accounts WHERE account_no = ?",
(account[0],))
[Link]() # Commit the deletion
print("Account deleted successfully!")
return True
return False
# Main program loop
def main():
"""Main menu for the bank management system."""
while True:
print("\n--- Bank Management System ---")
print("1. Create Account")
print("2. Login")
print("3. Exit")
choice = input("Enter your choice: ")

if choice == '1':
create_account() # Create a new account
elif choice == '2':
account = login() # User login
if account:
while True:
print("\n--- Account Menu ---")
print("1. Display Account Details")
print("2. Deposit Money")
print("3. Withdraw Money")
print("4. Delete Account")
print("5. Logout")
sub_choice = input("Enter your choice: ")

if sub_choice == '1':
display_account(account) # Show account details
elif sub_choice == '2':
deposit(account) # Deposit money
elif sub_choice == '3':
withdraw(account) # Withdraw money
elif sub_choice == '4':
if delete_account(account): # Delete account
break
elif sub_choice == '5':
print("Logged out successfully!")
break
else:
print("Invalid choice!")
elif choice == '3':
print("Exiting system. Goodbye!")
break
else:
print("Invalid choice! Please try again.")

# Run the program


if __name__ == "__main__":
main()
#OUTPUT

1)main menu:-

2)creating acc:-
3)log in acc:-

4)acc details:-
5)Deposit Money :-

6)withdraw money:-
7)delete acc:-

8)Log out:-
HARDWAE and SOFTWARE REQIRMENTS

HARDWARE REQUIRMENTS:
Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz
Processor

memory 4.00 GB

Hard disk 50 MB

SOFTWARE REQUIRMENTS:

Operating System: 32-bit operating system

Programming IDE: Python idle


3.9.7 ,pycharm
BIBLIOGRAPHY

BOOKS REFERRED:

> Computer Science for class XII by Sumita Arora

SITES VISITED:

➤[Link]

Common questions

Powered by AI

Users might face challenges such as unfamiliarity with the digital interface, complexity in navigation, or technical issues. Solutions include providing detailed user manuals or help sections within the software . Additionally, implementing a chatbot for real-time assistance can enhance user support. Simplifying interface design and improving error messages can also help users understand and rectify issues independently. These solutions aim to create a more user-friendly system that accommodates both novice and experienced users.

Errors during deposit or withdrawal operations could result in incorrect balance updates, unauthorized transactions, or customer dissatisfaction . To mitigate these risks, validations are implemented to ensure amounts are positive and do not exceed current balances, maintaining data integrity. System backup routines and audit trails for transactions can further protect against data loss or misallocation, thereby preserving user trust and preventing financial discrepancies.

The system requires an Intel Core 2 Duo CPU E7500 @ 2.93GHz processor, 4.00 GB of memory, and 50 MB of hard disk space. Software requirements include a 32-bit operating system and Python IDEs such as Python IDLE 3.9.7 or PyCharm . These specifications are important for ensuring that the application runs smoothly without performance issues. Adequate CPU and memory resources prevent lag, while sufficient hard disk space ensures data can be saved and accessed efficiently. The selected software tools help in development and execution, providing a stable environment for the program.

The account deletion feature allows users to remove their data completely, which is crucial for privacy and compliance with data protection regulations . This empowers users with control over their personal information, ensuring that once an account is no longer needed, it and its associated data are permanently removed from the system. This protects user privacy, prevents data misuse, and aligns with principles of user autonomy and data minimization. Implementing rigorous authentication before account deletion also safeguards against unauthorized deletions.

The interactive menu system plays a critical role by guiding users through the system's functionalities, such as account creation, login, and operations like deposit and withdrawal . It enhances user experience by providing clear options and prompts, making navigation intuitive even for non-technical users. The menu system reduces confusion and potential errors by offering step-by-step access to features, thereby improving overall satisfaction and system usability.

The use of an SQLite database in the Bank Management System is a strategic decision aimed at simplicity and portability . SQLite is serverless, making it easy to set up without requiring configuration for local projects. It provides sufficient capabilities for managing the data needs of the system such as storing account details and transaction records efficiently. This design choice is effective for a small-scale system, ensuring data integrity and fast access while keeping resource utilization low, important for a project with a limited scope.

The core functionalities of the Bank Management System include account creation, fund transfer, recurring bill payment, account management, and request for debit/credit cards . These features offer users a comprehensive platform to handle various banking operations efficiently. Account creation allows new users to join easily, while fund transfer and bill payments enhance transaction efficiency. Account management provides seamless interaction with account details, improving user experience. Requesting cards offers users convenient access to financial tools. Overall, these features streamline banking processes, offering users flexibility and control over their accounts.

The system accommodates recurring financial tasks through features like recurring bill payments, where a user can set amounts for automatic monthly transfers . This functionality reduces manual effort, ensuring timely payments and therefore reducing late fees or service interruptions. Automating recurring tasks also helps users manage finances more efficiently by streamlining processes, creating an organized payment structure while reducing the chance of human error, thus enhancing financial planning.

User account creation involves collecting user details such as full name, phone number, email, Aadhaar number, date of birth, initial deposit amount, and password . The system generates unique identifiers, including a 10-digit account number and a 5-digit customer ID via a random number generation function. This logic ensures each account has a unique identifier, preventing duplicates and ensuring each transaction or request is properly attributed to the right account. Such systematic uniqueness verification is essential for maintaining accurate records in a banking context.

The system ensures security by requiring users to authenticate using customer ID and password during login . Operations on accounts are only possible after successful authentication, which protects user data and prevents unauthorized access. The use of unique identifiers like customer IDs and account numbers further secures records and financial transactions, mitigating the risks of identity theft and fraud.

You might also like