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

ATM Project - Py

This document contains the details of a student project on ATM software. It includes a certificate certifying that the student has completed the project, acknowledgements thanking those who helped with the project, an introduction to Python programming language, descriptions of existing and proposed ATM systems, and Python source code for basic ATM functions like account creation, login, deposit and withdrawal.

Uploaded by

swayam chandan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views

ATM Project - Py

This document contains the details of a student project on ATM software. It includes a certificate certifying that the student has completed the project, acknowledgements thanking those who helped with the project, an introduction to Python programming language, descriptions of existing and proposed ATM systems, and Python source code for basic ATM functions like account creation, login, deposit and withdrawal.

Uploaded by

swayam chandan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 49

KENDRIYA VIDYALAYA NO.

2
CRPF CAMPUS,
BHUBANESWAR

ATM PROJECT

NAME- Swayam chandan senapati


CLASS & SECTION- XII- B
ROLL NUMBER- 48
CERTIFICATE

This to certify that


of class XII ‘B’ has successfully
completed this computer science
investigatory project on the topic of
“ATM” during the academic session
2022-2023 as per the guideline issued
by Central Board Of Secondary
Education (CBSE).

Internal External Principal


Signature Signature Signature

ACKNOWLEDGEMENT

We would like to express a deep sense


of thanks and gratitude to our project
guide Mr. R. K. Sahoo Sir for guiding us
immensely through the course of the
project. He always evinced keen
interest in our work. His constructive
advice and constant motivation have
been a huge factor in the successful
completion of this project.
Our sincere thanks to Dr. A. K. Khatua,
our Principal Sir. For his co-ordination
in extending every possible support
and the infrastructure for the
completion of this project. We also
want to thank our parents for their
motivation and support. We must
thank our classmates for full support
and help for completion of this project.
Last but not the least, we would like to
thank all those who had helped directly
or indirectly towards the completion of
the project.
TEAM MEMBERS NAME-
1. Swayam Chandan Senapati
2. Prinsto Raj Pradhan
3. Aditesh Mishra
4. Chinmaya Sahu
5. Rakesh Kumar Mallik
PYTHON INTRODUCTION

Python is a popular programming


language. It was created by Guido Van
Rossum, and released in 1991.
It is used for-
• Web development (server-side)
• Software development,
mathematics, and
• System scripting.

WHAT CAN PYTHON DO?


• Python can be used on a server to
create web applications.
• Python can be used alongside
software to create workflows.
• Python can connect to database
systems. It can also read and modify
files.
• Python can be used to handle big
data and perform complex
mathematics.
• Python can be used for rapid
prototyping, or for productionready
software development.

WHY PYTHON?
• Python works on different platforms
(Windows, Mac, Linux, Raspberry Pi,
etc).
• Python has a simple syntax similar
to the English language.
• Python has syntax that allows
developers to write programs with
fewer lines than some other
programming languages.
• Python runs on an interpreter
system, meaning that code can be
executed as soon as it is written.
This means that prototyping can be
very quick.
• Python can be treated in a
procedural way, an object-
orientated way or a functional way.
• The most recent major version of
Python is Python 3. However,
Python 2, although not being
updated with anything other than
security updates, is still quite
popular.
• Python will be written in a text
editor. It is possible to write Python
in an Integrated Development
Environment, such as Thonny,
Pycharm, NetBeans or Eclipse which
are particularly useful when
managing larger collections of
Python files.
• Python was designed for readability,
and has some similarities to the
English language with influence
from mathematics.
• Python uses new lines to complete
a command, as opposed to other
programming languages which
often use semicolons or
parentheses.
• Python relies on indentation, using
whitespace, to define scope Such as
the scope of loops, functions and
classes. Other programming
languages often use curly-brackets
for this purpose.
ATM

The ATM is a highly necessary concept


in the current days as most people
throughout the world depend on it for
the deposit and withdrawal of money
at any point in time. People can avail
the service of ATMs for 24 hours. It is
extremely beneficial during emergency
situations when the immediate
requirement of a huge amount of cash
arises. Therefore for the smooth
functioning of the ATM machines, the
ATM software should also be always
available and accessible.
The ATM software should be highly
operational and effective with the least
chances of transaction failure and
error. It is a financial and banking
software that is highly demanding in
the banking and financial sectors. The
ATM software provides real-time ATM
monitoring and analysis that usually
takes the charge of the complete
monitoring and the end-to-end
visibility of the ATM systems including
the health of the system, along with
the cash and consumable levels.

FEATURES OF THE ATM SYSTEM


The ATM software is highly equipped
with several essential features which
include the transfer of funds between
the linked bank accounts. It also
reviews and displays the account
balance and even prints the list of the
recent transactions on request. It also
initiates changing the existing PIN of
the ATM card for security reasons. It
approves the operation of depositing
cash. Along with the most necessary
and essential feature of cash deposit
and cash withdrawal, it also provides
the facility for prepaid mobile recharge
along with the other bill payments like
electricity bills, internet bills, etc. It
even initiates the transfer of funds
from one bank account to the other.

EXISTING SYSTEM
The ATM software project is a desktop
application that is developed with the
basic operational features of ATM (i.e.
Automated Teller Machine). The
existing system of the ATM software
has two admin and user accounts that
have different functionalities according
to the privilege and permissions
granted for these two different
accounts. As per the operational terms
of the software, with the existence of
two different operating accounts, the
ATM software works together with the
software as provided by the bank, with
the defined interfaces for
communication. After inserting the
ATM card into the ATM machine, the
software verifies the access code.
Then it asks for the nature of the cash
transaction, whether it is a cash
withdrawal or cash deposit. Then it
asks for the ATM PIN. After inserting
the PIN by the user, the system verifies
the PIN and asks for the amount of the
cash, and even asks for the
denominations of the notes. On
matching the criteria and availability of
the cash, it dispenses the cash, finishes
the transaction, and prints the receipt.

PROPOSED SYSTEM
Apart from the withdrawal of the cash
from this system, the deposit of cash is
also approved in the system, with all
kinds of denominations of notes. The
inclusion of the database tables in the
system helps in the proper recording of
the data in the admin and user tables.
This helps in fetching the information
with permissions from database tables.
After dispensing the cash from the
system, it also displays the updated
account balance for providing the
correct information to the user
regarding the account balance.

The interface of the software is


designed in a user-friendly manner.
The security of the software is
enhanced compared to the existing
system. The system also allows for the
payment of credit card bills, electricity
bills, and other bills. The operational
speed is faster than the existing
system.
SOURCE CODE

import mysql.connector as sql


conn=sql.connect(host='localhost',user

='root',password='manager',database='
ATM_MACHINE') c1=conn.cursor()

print("===========================
================================
=====================")

print(" WELCOME TO OUR


BANK ")
print("===========================
================================
=====================")

print("1.To create account")


print("2.To login") print("3.Exit")

print("===========================
================================
=====================")

op=int(input("Enter your choice :"))


print("===========================

================================
=====================")
if op==1:
c="y" while
c=="y":

m=int(input("Enter a 4 digit
number as accont number:"))
cb="select * from records where
ACCONT_NO={}".format(m)
c1.execute(cb)
d=c1.fetchall()
data=c1.rowcount if
data==1:

print("===========================
================================
=====================")

print("This account number


already exists:")
c=input("Do you want to
continue y/n -")

print("===========================
================================
=====================")
if c=="y":

continue
else:
print("Thank you.")
print("Visit again")

print("===========================
================================
=====================")

else:

name=input("Enter your
name:")
passw=int(input("Enter your
pass word:"))
ab="insert into
records(ACCONT_NO,PASSWORD,NAM
E) values({},
{},'{}')".format(m,passw,name
)

print("===========================
================================
=====================")

c1.execute(ab)
conn.commit()
print("Account sucessfully created")

print("The minimum balance


is 1000 ")
print("===========================
================================
=====================")

s=int(input("Enter the money


to be deposited :"))

print("===========================
================================
=====================")

sr="update records set


CR_AMT={} where
ACCONT_NO={}".format(s,m)
c1.execute(sr)
conn.commit() ef="update
records set

balance=cr_amt-withdrawl where
ACCONT_NO={}".format(m)
c1.execute(ef)
conn.commit()

print("sucessfully deposited")

print("Thank you")
print("Visit again")
break if op==2: y="y"
while y=="y":
acct=int(input("Enter your
account number:"))

cb="select * from records where


ACCONT_NO={}".format(acct)
c1.execute(cb)
c1.fetchall()
data=c1.rowcount if
data==1:

pas=int(input("Enter your
password :"))

print("===========================
================================
=====================")
e="select password from
records where
ACCONT_NO={}".format(acct)
c1.execute(e)
a=c1.fetchone()
d=list(a) if
pas==d[0]:

print("correct")
print("1.Depositng

money")
print("2.withdrawing
money")
print("3.Transfering
money")
print("4.Checking
balance")
print("5.Changing
Account number ")

print("===========================
================================
=====================")

r=int(input("Enter your
choice:"))

print("===========================
================================
=====================")

if r==1:
amt=int(input("Enter
the money to be deposited:"))

print("===========================
================================
=====================")

sr="update records set


CR_AMT=CR_AMT + {} where
ACCONT_NO={}".format(amt,acct)
c1.execute(sr)
conn.commit()
ef="update records set

balance=cr_amt-withdrawl where
ACCONT_NO={}".format(acct)
c1.execute(ef)
conn.commit()
print("sucessfully
deposited")

t=input("Do you want


to continue y/n -")

print("===========================
================================
=====================")
if t=="y":

continue
else: print("Thank you")

if r==2:
amt=int(input("Enter
the money to withdraw:"))

print("===========================
================================
=====================")

ah="select BALANCE
from records where
accont_no={}".format(acct)
c1.execute(ah)
m=c1.fetchone() if
amt >m[0]: print("Your are

having less than",amt)


print("Please try
again")

print("===========================
================================
=====================")
else:

sr="update records
set balance=balance - {} where
ACCONT_NO={}".format(amt,acct)
ed="update
records set WITHDRAWL ={} where
ACCONT_NO={}".format(amt,acct)
c1.execute(ed)
c1.execute(sr)
conn.commit()
print("Sucessfully

updatad")
y=input("do you want
to continue y/n -") if
y=="y":
continue
else:

print("Thank you")

if r==3:
act=int(input("Enter

the accont number to be transferrsd


:"))

print("===========================
================================
=====================")
cb="select * from
records where
ACCONT_NO={}".format(act)
c1.execute(cb)
c1.fetchall()
data=c1.rowcount if
data==1:

print(act ,"number
exists")
m=int(input("Enter
the money to be transferred :"))
print("===========================
================================
=====================")

ah="select
BALANCE from records where
accont_no={}".format(acct)
c1.execute(ah)
c=c1.fetchone() if
m > c[0]:
print("Your are
having less than",m)
print("Please
try again")
print("===========================
================================
=====================")
else:
av="update

records set balance=balance-{} where


ACCONT_NO={}".format(m,acct)
cv="update
records set balance=balance+{} where
ACCONT_NO={}".format(m,act)
w="update
records set withdrawl=withdrawl+{}
where accont_no={}".format(m,acct)
t="update
records set CR_AMT=CR_AMT+{}
where accont_no={}".format(m,act)
c1.execute(av)
c1.execute(cv)
c1.execute(w)
c1.execute(t)
conn.commit()

print("Sucessfully transfered")
y=input("do you
want to continue y/n -")
if y=="y":
continue
else:

print("Thank
you") if
r==4:

ma="select balance
from records where
accont_no={}".format(acct)
c1.execute(ma)
k=c1.fetchone()
print("Balance in your
account=",k)

print("===========================
================================
=====================")

y=input("do you want


to continue y/n -") if
y=="y":

continue
else: print("Thank
you") if r==5:
i=int(input("Enter your
new account number:"))
cb="select * from
records where
ACCONT_NO={}".format(i)
c1.execute(cb)
c1.fetchall()
data=c1.rowcount if
data==1:

print("This number
already exists")
print("Try again")

y=input("do you
want to continue y/n -")
if y=="y":
continue
else:
print("Thank
you")
else:

name=input("Enter
your name")
ar="Update
records set accont_no={} where
name='{}' and
password={}".format(i,name,pas)
c1.execute(ar)
conn.commit()
print("Your new

account number is ",i)


else:

print("Wrong password")

print("===========================
================================
=====================")

y=input("do you want to


continue y/n -")

else:
print("your Account does not
exists")

if op==3:
print("Exiting")
c1.close()
INSTALLATION PROCEDURE
ATM MACHINE:-
Pre-Requisites :

1. You have to have the following


softwares for the successful running of
this software; which are

I) Python (Only for the First time), it is


downloadable from 'www.python.org'.

II) MySQL (Only for the First time), it is


downloadable from 'www.mysql.org'.

Installation :-
1. There will be two folders namely
'Python Files' and 'EXE files' in the
folder 'Source Code'.
2. The folder 'Python Files' will contain
the source code of the software in
python language. If you are running the
software by the 3rd step mentioned
below you have to pre install the
following modules :-
I) mysql.connector or pymysql
II) matplotlib.
3. Open the files in any python editors
and run it to start and work on the
software.
4. The folder 'EXE files' will contain two
files namely 'main.exe' and
'Tables_in_mysql.exe'.

5. First run the


'Tables_in_mysql.exe' to create the
tables in MySQL.

6. Then run the file 'main.exe' to start


and work on the software.

CAUTION :-
If you are running the software
through running the python files or by
running the .exe files ; first run the file
named 'Tables_in_mysql'.
The .exe file will take some time to
run; so be PATIENT.

You might also like