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

ATMmachinemini

This document outlines a project focused on developing a basic Automated Teller Machine (ATM) simulation that includes essential banking functions such as user authentication, balance inquiry, cash withdrawal, and deposit. The system is implemented using Python with a simple file-based storage for user details, emphasizing security and user-friendly design. Future enhancements could include multi-user support, encrypted storage, and a graphical user interface.

Uploaded by

Ankush Mehtre
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)
3 views

ATMmachinemini

This document outlines a project focused on developing a basic Automated Teller Machine (ATM) simulation that includes essential banking functions such as user authentication, balance inquiry, cash withdrawal, and deposit. The system is implemented using Python with a simple file-based storage for user details, emphasizing security and user-friendly design. Future enhancements could include multi-user support, encrypted storage, and a graphical user interface.

Uploaded by

Ankush Mehtre
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/ 10

Index

Sr no Topic name Page no


1 Abstract 2
2 Introduction 3
3 System requirement 4
4 Features 5
5 Implementation 6-7
Output
6 8
Conclusion
7 9
Reference
8 10

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:

 Computer i5 8 gen processor


 4 GB RAM
 512 GB SSD

Software Requirements:

 Programming Language: Python (or Java, C++, etc.)


 IDE: Any basic text editor or IDE (e.g., Visual Studio Code, PyCharm)
 Operating System: Windows, MacOS, or Linux
 Database: Text-based data storage or simple file handling to save user data (for
example, JSON or CSV files for simplicity).

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):

no=int(input("enter account number : "))

passs=int(input("enter the password : "))

amount=float(input("enter the amount you want to withdrawl/debit : "))

if(self.accno==no and self.accpin==passs and self.accbal>=amount):

self.accbal-=amount

print(amount,"is debited ")

else:

print("wrong credentionals ")

def credit(self):

no=int(input("enter account number : "))

amount=float(input("enter the amount you want to credit : "))

if(self.accno==no and amount>0):

self.accbal+=amount

print(amount,"is credited ")

else:

Page 6 of 10
print("wrong credentionals ")

def balence(self):

no=int(input("enter account number : "))

passs=int(input("enter the password : "))

if(self.accno==no and self.accpin==passs ):

print("balance is ",self.accbal)

a1=ACC()

x=True

while (x==True):

print("enter 1 for withdrawl money ")

print("enter 2 for credit money ")

print("enter 3 to check balence ")

print("enter 0 for Exit ")

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

You might also like