CSE 4701, Fall 2019
Project 2 Bank Accounts and Transaction Processing
Introduction
In this project you will be creating a simplified banking software to practice concepts of embedded SQL and database transactions. Information on bank accounts must be persistently stored in a MySQL database in your local computer. Your bank account database will have only one table named account with the following details.
Part I Due November 132019 Wed, midnight at HuskyCT 100 pts 1. Part I Assignment
Create a local MySQL database named cse4701f19project2 and create the account table in this database. Use the following SQL script:
CREATE DATABASE IF NOT EXISTS cse4701f19project2; USE cse4701f19project2;
CREATE TABLE account
accountno INT11 NOT NULL AUTOINCREMENT,
nameonaccount VARCHAR100 NOT NULL,
balance FLOAT NOT NULL DEFAULT 0,
accountopendate DATETIME NOT NULL DEFAULT CURRENTTIMESTAMP, PRIMARY KEY accountno
ENGINEInnoDB DEFAULT CHARSETlatin1;
Now write a program in any programming language of your choice Python, Java, PHP, etc. that provides user interface with a menu to do the following operations on this database:
i. Create Account When a new customer comes to the bank, the bank teller should be able to open a new account using your program. Bank teller will enter nameonaccount and opening balance in order to create a new account. Other attributes accountno and accountopendate should get auto generated values.
ii. Check Balance Bank teller should be able to make balance inquiries on existing bank accounts. They will enter accountno and your program should show the details number, name, balance, and account open date. Display error if invalid account number is supplied.
How to create User Interface Menu? You can decide on what kind of User Interface you would like to build for this project. Depending on what language you choose, you can either make a Graphical User Interface GUI or a Command Line Interface CLI. Regardless, the various options as outlined in the project description should be present in the menu and user should be able to choose from those options. An example CLI with menu using python is given here.
2. Deliverables
You are required to submit your source code zipped if multiple files and a report PDF file with following contents use same number system in your report:
i. Screenshots: Attach screenshots from your program and corresponding code snippet to demonstrate each subsection of assignment in Section 1 above is working i.e., Create Account and Check Balance.
ii. Durability: Once you create few accounts in step i, close your program and run it again. Check balance for the previously created accounts and show that bank accounts are persistently stored in the database. Make sure you show timestamp of transaction. An example printing time stamp is given.