ATMmachinemini
ATMmachinemini
Page 1 of 10
Abstract
The Automated Teller Machine (ATM) is a crucial component in modern banking systems,
providing users with the ability to perform financial transactions without the need for human
intervention. This project focuses on developing a basic ATM machine simulation that
encompasses essential banking functions such as user authentication, balance inquiry, cash
withdrawal, deposit, and transaction history. The primary objective is to design a secure,
efficient, and user-friendly ATM system that mimics real-world operations.
The system is implemented using Python, utilizing a simple file-based storage system to
maintain user details, including their PIN and balance. The user is required to enter a correct
PIN for authentication, after which they can access a set of transaction options. The ATM
system also ensures security by limiting the number of login attempts and incorporating session
management for inactivity. The project highlights key software engineering principles such as
input validation, transaction handling, and basic user interface design.
This ATM simulation serves as a foundational project to understand the core functions and
security considerations of banking systems, while also offering a practical demonstration of
concepts like object-oriented programming, data management, and system security. Future
enhancements could include multi-user support, encrypted storage for sensitive information,
and a graphical user interface (GUI) for improved user experience.
Page 2 of 10
Introduction
An Automated Teller Machine (ATM) is an electronic device that allows users to perform basic
banking transactions without the need for a human bank teller. The ATM allows users to
withdraw cash, check their account balance, transfer funds, and perform other banking
services. The goal of this project is to simulate a basic ATM machine system with essential
features for educational purposes.
Page 3 of 10
System Requirements
Hardware Requirements:
Software Requirements:
Page 4 of 10
Features of the ATM System
The ATM system will have the following key features:
1. User Authentication:
o The system authenticates the user using a PIN code.
o If the PIN is correct, the system grants access to the menu.
o If the PIN is incorrect, the user is given three attempts before the system locks
them out.
2. Transaction Operations:
oBalance Inquiry: The user can check their account balance.
oWithdraw Cash: The user can withdraw cash within the balance limit of their
account.
o Deposit Money: The user can deposit money into their account.
o Transfer Funds: The user can transfer funds between accounts.
3. Transaction History:
o The user can view recent transactions, such as withdrawals, deposits, and
transfers.
4. Session Timeout:
o After a period of inactivity, the system automatically logs the user out for security
reasons.
5. Security Features:
o User data (e.g., PIN and balance) is stored securely.
o Session data is cleared after logout.
Page 5 of 10
Implementation
class ACC:
def __init__(self):
self.accname="Ankush Mehtre"
self.accno=2211600052
self.acctype="Saving"
self.accpin=1234
accbal=1000000
def debit(self):
self.accbal-=amount
else:
def credit(self):
self.accbal+=amount
else:
Page 6 of 10
print("wrong credentionals ")
def balence(self):
print("balance is ",self.accbal)
a1=ACC()
x=True
while (x==True):
y=int(input())
if(y==1):
a1.debit()
elif(y==2):
a1.credit()
if(y==3):
a1.balence()
if(y==0):
x=False
Page 7 of 10
Output
Page 8 of 10
Conclusion
The ATM machine project provides a simple yet effective simulation of real-world ATM
functionality. Through this project, the basic concepts of user authentication, transaction
processing, and data management were explored. This project can be expanded further with
features such as multi-user support, better security practices, and integration with a more
sophisticated database system.
Page 9 of 10
Reference
https://www.geeksforgeeks.org/python-programming-language-
tutorial/
https://www.tutorialspoint.com/python/index.htm
Page 10 of 10