0% found this document useful (0 votes)
8 views

Python Project Documentation 2024

The project report details the development of a simple ATM machine simulation using Python's Tkinter library, created by students Dhiraj Dilip Aher and Shivdas Hanmant Chaple under the guidance of Dr. Prashant Chintal. The application allows users to check their balance, deposit and withdraw funds, and exit the application, while highlighting both advantages such as user-friendliness and disadvantages like security concerns and limited features. The report includes declarations, certificates of completion, project requirements, and coding details.

Uploaded by

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

Python Project Documentation 2024

The project report details the development of a simple ATM machine simulation using Python's Tkinter library, created by students Dhiraj Dilip Aher and Shivdas Hanmant Chaple under the guidance of Dr. Prashant Chintal. The application allows users to check their balance, deposit and withdraw funds, and exit the application, while highlighting both advantages such as user-friendliness and disadvantages like security concerns and limited features. The report includes declarations, certificates of completion, project requirements, and coding details.

Uploaded by

sumithalge57
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

G.S.

Mandal’s
MAHARASHTRA INSTITUTE OF TECHNOLOGY, AURANGABAD
(An Autonomous Institute)

PROJECT REPORT
ON

“ATM Machine”

SUBMITTED
BY

NAME OF STUDENT: Dhiraj Dilip Aher Roll No: 01

NAME OF STUDENT: Shivdas Hanmant Chaple Roll No: 09

UNDER THE GUIDANCE


OF
Dr. Prashant Chintal

DEPARTMENT OF COMPUTER APPLICATIONS


2023-24

1
DECLEARATION

To,

The Head,

Computer Applications Department,

Maharashtra Institute of Technology, Aurangabad.

Respected sir,

I Mr. Dhiraj Dilip Aher hereby declare that, the mini project titled “ATM
Machine”developed and submitted as the partial fulfillment of submission for FYMCA in the
subject of Python Lab, is my original work and has not duplicated from any other sources under
the guidance of Dr. Prashant Chintal.

Date
Place

You’re sincerely

Dhiraj Dilip Aher

2
DECLEARATION

To,

The Head,

Computer Applications Department,

Maharashtra Institute of Technology, Aurangabad.

Respected sir,

I Mr. Shivdas Hanmant Chaple hereby declare that, the mini project titled “ATM
Machine” developed and submitted as the partial fulfilment of submission for FYMCA in the
subject of Python Lab, is my original work and has not duplicated from any other sources under
the guidance of Dr. Prashant Chintal.

Date
Place

You’re sincerely

Shivdas Hanmant Chaple

3
Department of Computer Applications

Certificate

This is to certify that Dhiraj Dilip Aher, a First Year MCA (Part-2) student, has satisfactorily
completed the mini project on "ATM Machine" as partial fulfilment of the mini project work for
the Python Lab course in the Master of Computer Applications program during the academic year
2023-24.

Project Guide Head of Department

Dr.Prashant Chintal Dr. Prashant Chintal

____________________
External Examiner

4
Department of Computer Applications

Certificate

This is to certify that Shivdas Hanmant Chaple, a First Year MCA (Part-2) student, has satisfactorily
completed the mini project on "ATM Machine" as partial fulfilment of the mini project work for
the Python Lab course in the Master of Computer Applications program during the academic year
2023-24.

Project Guide Head of Department

Dr.Prashant Chintal Dr. Prashant Chintal

____________________
External Examiner

5
INTRODUCTION

Welcome to the Simple ATM Machine Simulation! This project aims to provide a basic
simulation of an ATM machine using Python's Tkinter library for the graphical user interface
(GUI). An Automated Teller Machine (ATM) is a vital part of modern banking systems, allowing
users to perform various financial transactions conveniently.

Features:

Check Balance: Users can view their current account balance at any time. Deposit Funds: Users
can deposit money into their account by specifying the amount they wish to deposit. Withdraw
Funds: Users can withdraw money from their account, provided they have sufficient balance. Quit
Application: Users can exit the ATM application when they're done. Functionality:

Usage:

1.Launch the application by running the Python script.


2.Enter the desired amount and select the transaction type (Deposit or Withdraw).
3.Click on the corresponding button to perform the transaction.
4.The application will display a message indicating the success or failure of the transaction.
5.Users can check their balance at any time by clicking the "Check Balance" button.
6.To exit the application, click the "Quit" button.

6
PROJECT REQUIREMENT

Software Requirements:

➢ Python 3.12.2
➢ Tools/IDE:VS code, Python IDLE

Hardware Requirements:

➢ Laptop • RAM: Min. 2.00GB and above


➢ Input Device: Keyboard, Mouse.

7
Output Screen

8
9
Coding

#ATM machine
import tkinter as tk
from tkinter import messagebox

def check_balance():
messagebox.showinfo("Balance", f"Your current balance is: Rs {balance}")

def deposit():
global balance
amount = float(amount_var.get())
balance += amount
messagebox.showinfo("Deposit", f"Rs {amount} deposited successfully.")
update_balance_label()

def withdraw():
global balance
amount = float(amount_var.get())
if amount > balance:
messagebox.showerror("Error", "Insufficient balance.")
else:
balance -= amount
messagebox.showinfo("Withdraw", f"Rs {amount} withdrawn successfully.")
update_balance_label()

def update_balance_label():
balance_label.config(text=f"Current Balance: Rs {balance}")

def quit_app():
window.destroy()
10
balance = 0

window = tk.Tk()
window.title("ATM Machine")

# Labels
balance_label = tk.Label(window, text=f"Current Balance: Rs {balance}")
balance_label.grid(row=0, column=0, columnspan=2, padx=10, pady=10)

amount_label = tk.Label(window, text="Enter amount:")


amount_label.grid(row=1, column=0, padx=10, pady=5, sticky="e")

# Entry
amount_var = tk.StringVar()
amount_entry = tk.Entry(window, textvariable=amount_var)
amount_entry.grid(row=1, column=1, padx=10, pady=5)

# Buttons
check_button = tk.Button(window, text="Check Balance", command=check_balance)
check_button.grid(row=2, column=0, columnspan=2, padx=10, pady=5, sticky="ew")

deposit_button = tk.Button(window, text="Deposit", command=deposit)


deposit_button.grid(row=3, column=0, padx=10, pady=5, sticky="ew")

withdraw_button = tk.Button(window, text="Withdraw", command=withdraw)


withdraw_button.grid(row=3, column=1, padx=10, pady=5, sticky="ew")

quit_button = tk.Button(window, text="Quit", command=quit_app)


quit_button.grid(row=4, column=0, columnspan=2, padx=10, pady=5, sticky="ew")
window.mainloop()
11
Advantages & Disadvanages

Advantages:

1. User-Friendly Interface: tkinter provides a simple and easy-to-use graphical interface for
users to interact with the ATM machine. Users can easily navigate through the options like
checking balance, depositing, and withdrawing money.
2. Realistic Simulation: The project simulates basic ATM functionalities accurately, providing
users with a realistic experience of using an ATM machine.
3. Accessibility: Since it's written in Python, the project can run on any platform that supports
Python, making it accessible to a wide range of users without platform dependencies.
4. Customizable: The project can be easily extended and customized to include additional
features such as transaction history, PIN validation, and multiple account support, depending
on the requirements.
5. Educational Purpose: It serves as a great educational tool for learning Python programming,
GUI development with tkinter, and basic concepts of ATM functionalities.

12
Disadvantages:

1. Security Concerns: The project lacks any form of user authentication (e.g., PIN validation),
making it insecure for real-world use. In a real ATM system, security measures are critical
to protect users' financial information and prevent unauthorized access.
2. Limited Features: The project implements only basic ATM functionalities. In a real-world
scenario, ATM machines offer a wide range of features such as cash deposit, bill payments,
fund transfers, and account management, which are not included in this mini-project.
3. Single-User System: The project supports only a single user session at a time. In a real ATM
system, multiple users should be able to access the machine simultaneously, each with their
own accounts and transaction histories.
4. Error Handling: Error handling is limited in the project. For instance, it does not handle
scenarios such as network errors, database connectivity issues, or unexpected user inputs
gracefully, which are essential for robustness in a real-world application.
5. No Persistence: The project does not persistently store user data or transaction history. In a
real ATM system, data persistence is crucial for maintaining transaction records, user
accounts, and system logs for auditing and troubleshooting purposes.

13

You might also like