Project Title: ATM Machine application with sending report into email
Author: Nooraini Bt Hamidon
Roll No: 200905027

This project has contains special requirements to develop and run the ATM Machine application


1) Need To Install

a)Database Instruction

Using MySQL as database. Must install the MYSQL in machine. There should have database atm. In the database there are two tables.
There are user table which has attribute such as pin number as primary key, user name, account no and balance available. Also has report
table which has attribute such as pin no as foregin key, no of record,transaction type, amount and remark.  

User=ain
Password=ain151
mysql -u ain -p 
use atm;

For MySQL, to create the table, executed ./createTable file that already have in the folder.
and to insert data into user table, executed ./insertData file that already have in the folder.


b) command shell (mutt)
Need ot install mutt package to sending email or mail with attachment from command or shell prompt
Ubuntu Linux user use following command to install mutt:
# apt-get install mutt

After installation completely, we need to configure our machine to allow send mail by own machine using statement

sudo dpkg-reconfigure exim4-config 

These allow user to send mail by their own machine. 


2)  How to run

Firstly, user need to run a make file. User need to run server with command ./server 
When server waiting for connection from client, then user need to run client file with IP address command ./atmCOMPLETE <ip_address>   
Connection from client was successed with server <ip_address>
Here, connection of database be connected. Window of ATM machine will be display.

*assumption: Server is SHB Bank and Cilent is ATM MAchine



2) Manual Application

a) Firstly, user need to login the atm system by enter their 4 digit pin number and make sure information of user must available in database.
if user entered incorrect pin number, message error will be display in text field.

b) Balance Transaction
User can check their balance available currently in their account. After that, user can continue any next transaction by pressed button. 
or after did the withdrawal, deposit or transfer money transaction, user still can check their balance available currently.
  
b) Withdrawal Button
User allow to make withdrawal transaction by enter amount of withdrawal.User can't make withdrawal money more than
total amount of money available in their account. otherwise transaction will be failed. After withdrawal transaction done, 
system will updated new balance and saved record transaction in database. At the same time, has two file which are report user and report transaction. Report user will retrieve data about infromation about user such as name, account no and balance available currently.
Report transaction will retrieve data latest transaction done by user.  All the reports will be send to user through by student mail and bank (SBH mail)
with attachment file for their references.

b) Deposit Transaction
User allow to make deposit transaction by enter amount of deposit. User can't make deposit money more than
rs50000 in one time. otherwise transaction will be failed. After deposit transaction done, 
system will updated new balance and saved record transaction in database. At the same time, has two file which are report user and report transaction. Report user will retrieve data about infromation about user such as name, account no and balance available currently.
Report transaction will retrieve data latest transaction done by user.  All the reports will be send to user through by student mail and bank (SBH mail)
with attachment file for their references. 

b) Transfer Money Transaction
User allow to make transfer money transaction by enter account number and amount of money to be transfered. if user entered invalid account no or 
amount transaction will be failed. After transfer transaction done, 
system will updated new balance (both account) and saved record transaction in database. At the same time, has two file which are report user and report transaction. Report user will retrieve data about infromation about user such as name, account no and balance available currently.
Report transaction will retrieve data latest transaction done by user.  All the reports will be send to user through by student mail and bank (SBH mail)
with attachment file for their references.

b) Change Password Transaction
User allow to change their password by enter new passowrd and confirm password. Here, system will compare both password to make sure their are same. 
If not same, password is invalid and message error will be display. User need to enter once again. If both password are same, so system will updated in database and the process is successfully.
At the same time, has two file which are report user and report transaction. Report user will retrieve data about infromation about user such as name, account no and balance available currently.
Report transaction will retrieve data latest transaction done by user.  All the reports will be send to user through by student mail and bank (SBH mail)
with attachment file for their references.   
