0% found this document useful (0 votes)
8 views35 pages

Athi Physics

The document is a project report from E.S. Lords International School on the topic 'To Study the Earth's Magnetic Field' and includes a banking management system developed in Python. It outlines the project's aim, introduction to bank management systems, technical aspects, benefits, challenges, and future trends. The report also contains source code for the banking management system and various functionalities such as account creation, balance checking, and transactions.

Uploaded by

shatrudhan2007lk
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)
8 views35 pages

Athi Physics

The document is a project report from E.S. Lords International School on the topic 'To Study the Earth's Magnetic Field' and includes a banking management system developed in Python. It outlines the project's aim, introduction to bank management systems, technical aspects, benefits, challenges, and future trends. The report also contains source code for the banking management system and various functionalities such as account creation, balance checking, and transactions.

Uploaded by

shatrudhan2007lk
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
You are on page 1/ 35

E.S.

LORDS INTERNATIONAL SCHOOL


VILLUPURAM
BIOLOGY PROJECT

ACADEMIC YEAR : 2024 – 2025


NAME : L. K. SHATRUDHAN
CLASS : XII
ROLLNO :
TOPIC : TO STUDY THE EARTH’S
MAGNETIC FIELD

SUBMITTED TO : MR. J. THENUMUDHAN,


(M.Sc., M.Phil., B.Ed.,)

1
CERTIFICATE OF EXCELLENCE

This is to certify that the Physics project on the topic


“TO STUDY THE EARTH’S MAGNETIC FIELD”
has been successfully completed by
V. MATHAN BABU of class XII under the guidance of
MR. NARESH BABU M.Sc., B.Ed., in particular
fulfilment of the curriculum of the Central Board Of
Secondary Education leading to the award of annual
examination of the academic year 2024-2025.

Sign of Internal Examiner Sign of External Examiner

Sign of Principal Sign of Senior Principal

2
ACKNOWLEDGEMENT

In light of the completion of this project, I would like to


extend my heartfelt gratitude to everyone who has
bestowed their support towards the success of this
project.
First and foremost, this would not be possible without
the encouragement of our Senior Principal,
Mrs.CHITHIRAADEVI, our Principal,
Mr.GUNASEKARAN and our Computer Science
Teacher, MR. THENAMUDHAN who played a
pivotal role in shaping this project. I thank them for
providing knowledge, expertise, invaluable patience
and feedback.
Last but not the least, I would like to thank God, my
parents and my classmates for helping me finalize and
complete this project.

0
CONTENT

S.NO TOPICS PAGE NO

1 Aim 2

2 Introduction 3

3 About Bank Management 4-8


System

4 Source Code 9-18

5 Output 19-29

6 Conclusions 30

7 Bibliography 31

1
AIM

To create python program on the topic of Banking


Management

2
INTRODUCTION

A Bank Management System (BMS) is a software


application designed to manage a bank's operational and
financial processes efficiently. In the modern banking
era, it integrates technology to deliver superior
customer service, streamline internal processes, and
enhance the overall banking experience. BMS serves as
a backbone for all banking operations, ensuring secure
and smooth transactions, account management, and
compliance with financial regulations.

3
Loan
Managemen
t

Integration Customer
with Other Managemen
Systems t

COMPONENT
S OF A
BANK
MANAGEME
NT SYSTEM Account
Security
Managemen
Features
t

Transaction
Report
Managemen
Generation
t

4
Technical Aspects of the Bank Management
System

 System Architecture:
Typically employs a client-server or cloud-based
architecture to enable scalability and centralized data
management.

 Core Technologies:

Utilizes programming languages like Java, Python,


or .NET, with robust databases such as MySQL, Oracle,
or MongoDB.

 Security Framework:

Incorporates multi-factor authentication, data


encryption, and regular security audits to prevent
unauthorized access.

5
Enhanced
Efficiency

Improved
Regulatory
Customer
Compliance
Experience
BENEFITS OF
BANK
MANAGEMEN
T SYSTEM

Data
Integrity Cost
and Reduction
Security

6
CHALLENGES IN IMPLEMENTING A
BANK MANAGEMENT SYSTEM

 High Initial Cost:

The implementation of a sophisticated BMS requires


substantial investment in infrastructure and training.

 Integration Complexities:

Ensuring seamless integration with existing systems


can be challenging.

 Data Privacy Concerns: Protecting customer


information from potential breaches demands
constant vigilance.

 Maintenance Requirements:

Regular updates and technical support are essential to


maintain system efficiency.

7
FUTURE TRENDS IN BANK MANAGEMET
SYSTEM

The evolution of Bank Management Systems is driven by


advancements in technology. Key trends include the
integration of Artificial Intelligence (AI) for predictive
analytics, the use of Block chain for secure transactions, and
the adoption of cloud-based solutions for enhanced
accessibility and scalability. Additionally, customer-centric
innovations like chat bots and mobile banking apps are
transforming the banking experience.

8
SOURCE CODE:

import tkinter as tk
from tkinter import ttk, messagebox
from tkinter import font
import pickle
import os

# Account class to store account details


class Account:
def __init__(self, acc_no, name, acc_type, balance, password):
self.acc_no = acc_no
self.name = name
self.acc_type = acc_type
self.balance = balance
self.password = password

def __str__(self):
return f"{self.acc_no}, {self.name}, {self.acc_type},
{self.balance}"

# Function to load the accounts data


def load_accounts():
if os.path.exists("accounts.data"):
with open("accounts.data", "rb") as infile:
return pickle.load(infile)
return []

# Function to save the accounts data


def save_accounts(accounts):
with open("accounts.data", "wb") as outfile:
pickle.dump(accounts, outfile)

# Function to create a new account


def create_account():
9
acc_no = acc_no_var.get()
name = acc_name_var.get()
acc_type = acc_type_var.get()
balance = balance_var.get()
password = password_var.get()

# Check if the user is above 18 and has enough balance


if age_var.get() < 18:
messagebox.showerror("Error", "Age must be 18 or older to
create an account.")
return

if balance < 1000:


messagebox.showerror("Error", "Minimum balance required is
1000.")
return

# Create the account object and save it


new_account = Account(acc_no, name, acc_type, balance,
password)
accounts.append(new_account)
save_accounts(accounts)
messagebox.showinfo("Success", "Account created successfully!")
clear_values()

# Function to check the balance


def check_balance():
acc_no = acc_no_var.get()
password = password_var.get()

# Search for the account in the list


for account in accounts:
if account.acc_no == acc_no and account.password ==
password:
balance_var.set(account.balance)
return

10
messagebox.showerror("Error", "Invalid account number or
password!")

# Function to deposit money


def deposit():
acc_no = acc_no_var.get()
password = password_var.get()
amount = amount_var.get()

for account in accounts:


if account.acc_no == acc_no and account.password ==
password:
account.balance += amount
save_accounts(accounts)
messagebox.showinfo("Success", "Deposit successful!")
clear_values()
return
messagebox.showerror("Error", "Invalid account number or
password!")

# Function to withdraw money


def withdraw():
acc_no = acc_no_var.get()
password = password_var.get()
amount = amount_var.get()

for account in accounts:


if account.acc_no == acc_no and account.password ==
password:
if account.balance >= amount:
account.balance -= amount
save_accounts(accounts)
messagebox.showinfo("Success", "Withdrawal
successful!")
clear_values()
return
else:

11
messagebox.showerror("Error", "Insufficient balance!")
return
messagebox.showerror("Error", "Invalid account number or
password!")

if balance < 1000:


messagebox.showerror("Error", "Minimum balance required is
1000.")
return

# Function to modify account details


def modify_account():
acc_no = acc_no_var.get()
password = password_var.get()

for account in accounts:


if account.acc_no == acc_no and account.password ==
password:
account.name = acc_name_var.get()
account.acc_type = acc_type_var.get()
account.balance = balance_var.get()
save_accounts(accounts)
messagebox.showinfo("Success", "Account details updated
successfully!")
clear_values()
return
messagebox.showerror("Error", "Invalid account number or
password!")

# Function to delete an account


def delete_account():
acc_no = acc_no_var.get()
password = password_var.get()

for account in accounts:


if account.acc_no == acc_no and account.password ==
password:

12
accounts.remove(account)
save_accounts(accounts)
messagebox.showinfo("Success", "Account deleted
successfully!")
clear_values()
return
messagebox.showerror("Error", "Invalid account number or
password!")

# Function to clear all the input fields


def clear_values():
acc_no_var.set(0)
acc_name_var.set("")
acc_type_var.set("Savings")
balance_var.set(0)
password_var.set("")
amount_var.set(0)
age_var.set(18)

# Function to handle the screen changes


def show_frame(frame):
frame.tkraise()

# Setup the main window


root = tk.Tk()
root.title("Banking Management System")
root.geometry("260x325")
root.config(bg="powder blue") # Set the background color of the root
window

# Set up frames for each operation


main_frame = tk.Frame(root, bg="powder blue")
main_frame.grid(row=0, column=0, sticky="news")

frame_1 = tk.Frame(root, bg="powder blue")


frame_1.grid(row=0, column=0, sticky="news")

13
frame_2 = tk.Frame(root, bg="powder blue")
frame_2.grid(row=0, column=0, sticky="news")

frame_3 = tk.Frame(root, bg="powder blue")


frame_3.grid(row=0, column=0, sticky="news")

frame_4 = tk.Frame(root, bg="powder blue")


frame_4.grid(row=0, column=0, sticky="news")

frame_5 = tk.Frame(root, bg="powder blue")


frame_5.grid(row=0, column=0, sticky="news")

frame_6 = tk.Frame(root, bg="powder blue")


frame_6.grid(row=0, column=0, sticky="news")

# Create variables
acc_no_var = tk.IntVar()
acc_name_var = tk.StringVar()
acc_type_var = tk.StringVar(value="Savings")
balance_var = tk.IntVar()
password_var = tk.StringVar()
amount_var = tk.IntVar()
age_var = tk.IntVar(value=18)

accounts = load_accounts()

# Main menu buttons


tk.Button(main_frame, text="CREATE ACCOUNT",width=25,
command=lambda: show_frame(frame_1)).pack(pady=10)
tk.Button(main_frame,
text="DEPOSIT",width=25,command=lambda:
show_frame(frame_2)).pack(pady=10)
tk.Button(main_frame, text="WITHDRAW",width=25,
command=lambda: show_frame(frame_3)).pack(pady=10)
tk.Button(main_frame, text="CHECK
BALANCE",width=25,command=lambda:
show_frame(frame_4)).pack(pady=10)

14
tk.Button(main_frame, text="MODIFY
ACCOUNT",width=25,command=lambda:
show_frame(frame_5)).pack(pady=10)
tk.Button(main_frame, text="DELETE
ACCOUNT",width=25,command=lambda:
show_frame(frame_6)).pack(pady=10)
tk.Button(main_frame,
text="EXIT",width=25,command=root.quit).pack(pady=10)

# Create Account Frame


tk.Label(frame_1, bg="powder blue", text="ACCOUNT
NUMBERE").grid(row=0, column=1)
tk.Entry(frame_1, textvariable=acc_no_var).grid(row=0, column=2)
tk.Label(frame_1, bg="powder blue", text="ACCOUNT HOLDER
NAME").grid(row=1, column=1)
tk.Entry(frame_1, textvariable=acc_name_var).grid(row=1,
column=2)
tk.Label(frame_1, bg="powder blue", text="ACCOUNT
TYPE").grid(row=2, column=1)
tk.OptionMenu(frame_1, acc_type_var, "Savings",
"Current").grid(row=2, column=2)
tk.Label(frame_1, bg="powder blue", text="INITIAL
DEPOSIT").grid(row=3, column=1)
tk.Entry(frame_1, textvariable=balance_var).grid(row=3, column=2)
tk.Label(frame_1, bg="powder blue",
text="PASSWORD").grid(row=4, column=1)
tk.Entry(frame_1, textvariable=password_var, show="*").grid(row=4,
column=2)
tk.Label(frame_1, bg="powder blue", text="AGE").grid(row=5,
column=1)
tk.Entry(frame_1, textvariable=age_var).grid(row=5, column=2)
tk.Button(frame_1,text="CREATE ACCOUNT",
command=create_account).grid(row=6, column=2)
tk.Button(frame_1,text="BACK", command=lambda:
show_frame(main_frame)).grid(row=7, column=2)

# Deposit Frame

15
tk.Label(frame_2, bg="powder blue", text="ACCOUNT
NUMBER").grid(row=0, column=0)
tk.Entry(frame_2, textvariable=acc_no_var).grid(row=0, column=1)
tk.Label(frame_2, bg="powder blue", text="AMOUNT TO
DEPOSIT").grid(row=1, column=0)
tk.Entry(frame_2, textvariable=amount_var).grid(row=1, column=1)
tk.Label(frame_2, bg="powder blue",
text="PASSWORD").grid(row=2, column=0)
tk.Entry(frame_2, textvariable=password_var, show="*").grid(row=2,
column=1)
tk.Button(frame_2,text="DEPOSIT",width=10,command=deposit).gri
d(row=4, column=1)
tk.Button(frame_2,text="BACK",width=10, command=lambda:
show_frame(main_frame)).grid(row=5, column=1)

# Withdraw Frame
tk.Label(frame_3, bg="powder blue", text="ACCOUNT
NUMBER").grid(row=0, column=0)
tk.Entry(frame_3, textvariable=acc_no_var).grid(row=0, column=1)
tk.Label(frame_3, bg="powder blue", text="AMOUNT TO
WITHDRAW").grid(row=1, column=0)
tk.Entry(frame_3, textvariable=amount_var).grid(row=1, column=1)
tk.Label(frame_3, bg="powder blue",
text="PASSOWRD").grid(row=2, column=0)
tk.Entry(frame_3, textvariable=password_var, show="*").grid(row=2,
column=1)
tk.Button(frame_3,text="WITHDRAW",width=10,command=withdra
w).grid(row=3, column=1)
tk.Button(frame_3,text="BACK",width=10, command=lambda:
show_frame(main_frame)).grid(row=4, column=1)

# Balance Frame
tk.Label(frame_4, bg="powder blue", text="ACCOUNT
NUMBER").grid(row=0, column=0)
tk.Entry(frame_4, textvariable=acc_no_var).grid(row=0, column=1)
tk.Label(frame_4, bg="powder blue",
text="PASSWORD").grid(row=1, column=0)

16
tk.Entry(frame_4, textvariable=password_var, show="*").grid(row=1,
column=1)
tk.Button(frame_4,text="CHECK BALANCE",
command=check_balance).grid(row=2, column=1)
tk.Label(frame_4, bg="powder blue",
text="BALANCE:").grid(row=3, column=0)
tk.Label(frame_4, bg="powder blue",
textvariable=balance_var).grid(row=3, column=1)
tk.Button(frame_4, bg="lightblue", text="BACK",
command=lambda: show_frame(main_frame)).grid(row=4,
column=1)

# Modify Account Frame


tk.Label(frame_5, bg="powder blue", text="ACCOUNT
NUMBER").grid(row=0, column=0)
tk.Entry(frame_5, textvariable=acc_no_var).grid(row=0, column=1)
tk.Label(frame_5, bg="powder blue", text="ACCOUNT HOLDER
NAME").grid(row=1, column=0)
tk.Entry(frame_5, textvariable=acc_name_var).grid(row=1,
column=1)
tk.Label(frame_5, bg="powder blue", text="ACCOUNT
TYPE").grid(row=2, column=0)
tk.OptionMenu(frame_5, acc_type_var, "Savings",
"Current").grid(row=2, column=1)
tk.Label(frame_5, bg="powder blue",
text="BALANCE").grid(row=3, column=0)
tk.Entry(frame_5, textvariable=balance_var).grid(row=3, column=1)
tk.Label(frame_5, bg="powder blue",
text="PASSWORD").grid(row=4, column=0)
tk.Entry(frame_5, textvariable=password_var, show="*").grid(row=4,
column=1)
tk.Button(frame_5,text="MODIFY ACCOUNT",
command=modify_account).grid(row=5, column=1)
tk.Button(frame_5,text="BACK", command=lambda:
show_frame(main_frame)).grid(row=6, column=1)

# Delete Account Frame

17
tk.Label(frame_6, bg="powder blue", text="ACCOUNT
NUMBER").grid(row=0, column=0)
tk.Entry(frame_6, textvariable=acc_no_var).grid(row=0, column=1)
tk.Label(frame_6, bg="powder blue",
text="PASSWORD").grid(row=1, column=0)
tk.Entry(frame_6, textvariable=password_var, show="*").grid(row=1,
column=1)
tk.Button(frame_6,text="DELETE ACCOUNT",
command=delete_account).grid(row=2, column=1)
tk.Button(frame_6,text="BACK", command=lambda:
show_frame(main_frame)).grid(row=3, column=1)

# Set the initial frame


show_frame(main_frame)

# Run the Tkinter event loop


root.mainloop()

18
OUTPUT

HOME PAGE:

CREATE ACCOUNT:

19
20
DEPOSIT AMOUNT:

21
WITHDRAW AMOUNT:

22
23
CHECK BALANCE:

24
MODIFY ACCOUNT:

25
DELETE ACCOUNT:

26
27
TYPS OF ERRORS:
AGE ERROR:

28
MINIMUM BALANCE ERROR:

29
CONCLUSION

The Bank Management System is a cornerstone of


modern banking, enabling institutions to deliver
seamless, secure, and efficient services. Despite the
challenges in implementation, the benefits far outweigh
the costs, making it an indispensable tool in the
financial industry. As technology evolves, BMS will
continue to adapt, paving the way for innovative
banking solutions and superior customer experiences.

30
BIBLIOGRAPHY:

1. ChatGPT

2. Meta AI

3. Gemini AI

4. Visual Studio Code

31
32

You might also like