You are on page 1of 35

Computer Science

(Code-083)
Project: Automated Banking
Software

Name: Shubham Sagar


Class: XII - A
Submitted to: Ms. Manisha

Sarvott am Internati onal School


23
Automated Banking Software
INDEX

S. No. Topic Page No.

1 Certificate 3

2 Acknowledgement 4

3 Aim & Problem Definition, Front-End, Back-End, Operating System 5

4 Hardware/Software Configuration Required 6

5 Introduction to Project and Flowchart 7-9

6 Overview of Python 3.7.3 10-12

7 Overview of MySQL 5.1 13-14

8 Database 15

9 Source Code & Output 16-34

10 Bibliography 35

Sarvott am Internati onal School


23
Certificate

This is to certify that Shubham Sagar of class XII-A has


completed Computer Science (083) Project under my
supervision and guidance as per the latest curriculum of
Central Board of Secondary Education (2022-2023).

___________________________ ___________________________

Examiner’s Signature Principal

___________________________

Teacher In-charge Insti tuti on Rubber Stamp

Date: _______________

Sarvott am Internati onal School


23
Acknowledgement

In the accomplishment of this project successfully, many people


have best owned upon me their blessings and the heart pledged
support, this time I am utilizing to thank all the people who have
been concerned with this project. Primarily I would thank God
for being able to complete project with success. Then I would
like to thank my Principal Dr. Priyanka Mehta and Ms. Manisha,
whose valuable guidance has been the ones that helped me
prepare this project and make it a success. Their suggestions
and instructions have served as the major contributor towards
the completion of the file. Then I would like to thank my parents
and friends who have helped me with their valuable suggestions
and guidance has been very helpful in various phases. Last but
not the least I would like to thank my classmates who have
helped me a lot.

Sarvott am Internati onal School


23
Aim:
To create an Automated Banking interface with python.

Front End Used:


Python 5.0.0

Back End Used:


MySQL Server 5.1

Operating System Used:


Microsoft Windows 10

Note: Other front-end, back-end & operati ng systems can also be used. These are the
ones used in my project.

Sarvott am Internati onal School


23
Hardware & Software Requirements

Hardware Requirements
Laptop/CPU with Intel i3/i5/i7, 512MB – 8GB RAM, 5MB – 2GB
Free Disk Space.

Software Requirements
Microsoft Windows 7 – 11, Python with all required libraries
installed, MySQL, any web browser for collection of data [ex-
Chrome]

Free Open Software Being Used:


 Python 3.7.3
 MySQL Server 5.1

MySQL is free and open-source software under the terms of


the GNU General Public License, and is also available under a
variety of proprietary licenses. MySQL was owned and
sponsored by the Swedish company MySQL AB, which was
bought by Sun Microsystems (now Oracle Corporation).

Sarvott am Internati onal School


23
PROJECT ON AUTOMATED BANKING SOFTWARE

INTRODUCTION
In this fast-paced world, technological developments are a crucial
for the society. It has changed the way in which we deal with
things in our day to day lives.

Most of the products and services banking and financial


institutions offer involve or have benefited from automation.
Banking automation technologies have drastically shortened
response times while increasing the value of each work hour.
Automation of many sectors like banking has broadened the
limitations which we a major challenge not so long ago. This
advancement has let increase the scalability of things on drastic
levels.

Not only that but, Automation of Banking has also made it much
more secure, safe and reliable for people than before. It has
increased the accessibility of services availed by the people and
made the functioning much smoother and error free.

In this project we have tried to take a leap into the concept of


Automated Banking and have come up with our own version of
AUTOMATED BANKING SOFTWARE which performs the basic
functions of an internet banking interface.

Sarvott am Internati onal School


23
OBJECTIVES OF THE PROJECT

The AUTOMATED BANKING SOFTWARE is similar to an

internet banking interface. It allows the user to carry out basic

functions in a banking interface.

• It is menu driven program which provides the options to the


user to perform the following operations:

o Create account
o Deposit money
o Withdraw money
o Transfer money
o Check balance
o Change pin

• Displays appropriate messages to guide the user.

• Perform appropriate operations according to the user’s


choice.

Sarvott am Internati onal School


23
FLOW CHART

START

Connection with database is established.

Database Created

1. To create account
2. To login
3. Exit

Account is created Exit the software


Login into the account with
account number and PIN

1. Deposit Money
2. Withdraw money
3. Transfer money
4. Check balance
5. Change PIN

EXIT THE
PROGRAM

Sarvott am Internati onal School


23
Overview of Python

Python is a high-level, interpreted, interactive and object-


oriented scripting language. Python is designed to be highly
readable. It uses English keywords frequently whereas other
languages use punctuation, and it has fewer syntactical
constructions than other languages.
 Python is Interpreted – Python is processed at runtime by
the interpreter. You do need to compile your program
before executing it. This is like PERL and PHP.
 Python is Object-Oriented – Python supports Object-
Oriented style or technique of programming that
encapsulates code within objects.
 Python is Interactive – You can sit at a Python prompt and
interact with the interpreter directly to write your
programs.
 Python is a Beginner’s Language – Python is a great
language for the beginner-level programmers and supports
the development of a wide range of applications from
simple text process to WWW browsers to games. A prime
example is a game called ‘Battlefield 2’ which uses Python
for all its add-ons and a lot of its functionality.

Sarvott am Internati onal School


23
History of Python
Python was developed by Guido van Rossum in the late eighties
and early nineties at the National Research Institute for
Mathematics and Computer Science in the Netherlands.
Python is derived from many other languages, including ABC,
Modula-3, C, C++, Algol-68, SmallTalk and Unix shell and other
scripting languages.
Python is copyrighted. Like PERL, Python source code is now
available under the GNU General Public License (GPL).
Python is now maintained by a core development team at the
institute, although Guido van Rossum still holds a vital role in
directing its progress.

Features of Python
Python’s features include –
 Easy-to-learn – Python has few keywords, simple structure,
and a clearly defined syntax. This allows the student to pick
up the language quickly and clearly.
 Easy-to-read – Python code is more clearly defined and
visible to the eyes.
 Easy-to-maintain – Python’s source code is fairly easy-to-
maintain.
 A Broad Standard Library – Python’s bulk of the library is
very portable and cross-platform compatible on UNIX,
Windows, and Macintosh.

Sarvott am Internati onal School


23
 Interactive Mode – Python has support for an interactive
mode which allows interactive testing and debugging of
snippets of code
 Portable – Python can run on a wide variety of hardware
platforms and has the same interface on all platforms.
 Extendable – You can add low-level modules to the Python
interpreter. These modules enable programmers to add to
or customize their tools to be more effi cient.
 Databases -Python provides interfaces to all major
commercial databases.
 GUI Programming – Python supports GUI applications that
can be created and ported to many system calls, libraries,
and windows systems, such as Windows MFC, Macintosh,
and the X Windows System of UNIX.
 Scalable – Python provides a better structure and support
for large programs than shell scripting.
Apart from the above-mentioned features, Python has a big list
of good features, few are listed below –
 It supports functional and structured programming
methods as well as OOP.
 It can be used as a scripting language or can be compiled to
bytecode for building large applications.
 It provides very high-level dynamic data types and supports
dynamic type checking.
 It supports automatic garbage collection.

Overview of MySQL
Sarvott am Internati onal School
23
A database system is basically a computer-based record keeping
system. The collection of data, usually referred to as the
database, contains information about one enterprise. In a
typical file-processing system, permanent records are stored in
various file. Several different application programs are written
to extract records from files and add records to the appropriate
files. A data management system is answer to all these problem
as it provides a centralized control of the data.
Various advantages of data base system are:
 Database systems reduce data redundancy (data
duplication) to a large extent.
 Database system control data inconsistency to a large
extent.
 Database facilitate sharing of data.
 Database enforces standards.
 Centralized data bases can ensure data security.
 Integrity can be maintained through databases.
MySQL is a freely available source Relational Database
Management System (RDBMS) that uses Structured Query
Language (SQL). It is downloadable from the website
www.mysql.org . In a MySQL database, information can be stored
in tables. MySQL provides you with a rich set of features that
support a secure environment for storing maintaining &
accessing data. MySQL is a fast, reliable & scalable alternative to
many of the commercial RDBMS related software available
today.

Sarvott am Internati onal School


23
MySQL was created and is supported by MySQL Lab, a company
based in Sweden (www.mysql.org ). This company was then
overtaken by Sun-Micro Systems, which had held the copyright
to most of the coding base. On April 20 th , 2009, Oracle
Corporation, which develops and sells the proprietary Oracle
Database, announced a deal to acquire Sun-Micro Systems
entirely.

Sarvott am Internati onal School


23
Database
SQL DATABASE: -

Sarvott am Internati onal School


23
SOURCE CODE
#welcome to our rsp bank

import mysql.connector as sql

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

user='root',

password='tiger',

database='student',

c1 = conn.cursor()

#mn = "CREATE TABLE RECORDS( ACCONT_NO BIGINT(10) primary


key, PASSWORD INT(4), NAME VARCHAR(20),CR_AMT INT
default(0),WITHDRAWL INT default(0), BALANCE INT default(0))"

#c1.execute(mn)

print(

"========================================================
========================"

print(" WELCOME TO OUR RSP BANK")

print(" Banking made easy ")

print(

"========================================================
========================"

Sarvott am Internati onal School


23
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 10 digit number as account number:"))

if m == 10:

cb = "select * from records where ACCONT_NO={}".format(m)

c1.execute(+cb)

d = c1.fetchall()

data = c1.rowcount

Sarvott am Internati onal School


23
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("Visit again")

print(

"========================================================
========================"

Sarvott am Internati onal School


23
)

else:

print("insufficient characters!!")

else:

name = input("Enter your name:")

passw = int(input("Enter your PIN:"))

ab = "insert into records(ACCONT_NO,PASSWORD,NAME) values({},


{},'{}')".format(

m, passw, name)

print(

"========================================================
========================"

c1.execute(ab)

conn.commit()

print("Account sucessfully created")

print("The minimum recommended balance is 1000 ")

print(

"========================================================
========================"

s = int(input("Enter the money to be deposited :"))

Sarvott am Internati onal School


23
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")

print("Visit again")

break

if op == 2:

global k

y = "y"

while y == "y":

acct = int(input("Enter your account number:"))

Sarvott am Internati onal School


23
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.Change PIN ")

print(

Sarvott am Internati onal School


23
"========================================================
========================"

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)

Sarvott am Internati onal School


23
conn.commit()

print("sucessfully deposited")

t = input("Do you want to continue y/n -")

print(

"========================================================
========================"

if t == "y":

continue

else:

print(" Thank you")

print(" VISIT AGAIN")

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

Sarvott am Internati onal School


23
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")

print(" VISIT AGAIN")

Sarvott am Internati onal School


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

Sarvott am Internati onal School


23
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")

Sarvott am Internati onal School


23
y = input("do you want to continue y/n -")

if y == "y":

continue

else:

print(" Thank you")

print(" VISIT AGAIN")

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

print(" VISIT AGAIN")

if r == 5:

Sarvott am Internati onal School


23
cp = int(input("Enter the current pin:"))

i = int(input("Enter your new PIN:"))

cb = "select * from records where PASSWORD={}".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")

print(" VISIT AGAIN")

else:

name = input("confirm your new pin")

ar = "Update records set PASSWORD={} where


accont_no={}".format(

i, acct)

c1.execute(ar)

conn.commit()

print("Your new PIN is ", i)

Sarvott am Internati onal School


23
else:

print("Wrong PIN")

print(

"========================================================
========================"

y = input("do you want to continue y/n -")

if y == "y":

continue

else:

print(" Thank you")

print(" VISIT AGAIN")

else:

print("your Account does not exists")

if op == 3:

print(" Exiting")

print(" VISIT AGAIN.")

c1.close()

Outputs

Create account and deposit initial amount:

Sarvott am Internati onal School


23
Sarvott am Internati onal School
23
Deposit money

Sarvott am Internati onal School


23
Withdraw money

Sarvott am Internati onal School


23
Stored data in the SQL console

Sarvott am Internati onal School


23
Records table described in SQL console

Sarvott am Internati onal School


23
Bibliography
• Computer science With Python - Class XII by
Sumita Arora
• A Project Report on Blood Bank Management
System (BBMS)
By: Praveen C ADHIYAMAAN
• Website: https://www.w3resource.com
• https://en.wikipedia.org/

Sarvott am Internati onal School


23

You might also like