nisha project 01
nisha project 01
BY
Nisha Rathore
Roll No:-2309015250025
1
,
GUIDED BY SUBMITTED BY
Nisha Rathore
Mrs. Pratibha Rashmi
Maam
SUBMITTED TO
DEPARTMENT OF COMPUTER SCIENCE
& IET 2
CERTIFICATE
This is to certify that the project entitled, "Cafe Billing System", is bonafied work of Vishnu
kumar Mahato bearing Enrolment no- AJU/211694 submitted in partial fulfilment of the
requirements for the award of degree of MASTER OF COMPUTER APPLICATION (MCA)
from ARKA JAIN University, JHARKHAND.
II
ABSTRACT
The main goal of this project was to develop a desktop based billing system for a Cafe. This
desktop based application is designed to administer its users and customers. CBS is a billing
system, made for the effective utilization of modern technology in the organization. It is an
automated software that can handle a lot of information about the restaurant’s employees, order
history, reservation data. It has the capability to process bills and gather information about its
employees and billing history. It is designed for the sole purpose of efficiency, speed and accuracy.
This application allows the admin to view the detail history of day to day operation in terms of
sales, add or remove the employee, add new menu, view the detail of the employee like name,
address, salary and so on. This application was developed using Netbeans IDE 8.0.2 for the front
end and MySQL database was used to store data.
III
ACKNOWLEDGEMENT
I would like to express my sincere gratitude to several individuals and organization for supporting
me throughout the completion of my project.
First, I wish to express my sincere gratitude to my mentor (Mrs.Pratibha maam) for her
enthusiasm patience, insightful comments, helpful information, practical advices and unceasing
ideas that have helped me tremendously at all times in my Project and writing of these
thesis. Her immense knowledge, profound experience and professional expertise in
Backend has enabled me to complete this project successfully. Without her support and
guidance, this project would not have been possible.
I am also thankful to our respected H.O.D (Prof. V. K. Saraswat sir) and all faculty members for
loving inspiration and timely guidance. I also wish to express my sincere thanks to the
Department of Computer science ,Institute of Engineering and Technology Khandari Campus
Agra for accepting this project.
IV
TABLE OF CONTENTS
Chapter 1
1. Introduction…………………………………………………………………..
1.1. Definition of problem...............................................................................
1.2. Objective…………………………………………………………………
1.3. Benefits of Existing System………………………………………………
Chapter 2
2. System Analysis……………………………………………………………...
2.1. Existing system………………………………………………………….
2.2. Proposed system………………………………………………………...
2.3. Feasibility Study………………………………………………………...
Chapter 3
3. System Design
3.1. Input design……………………………………………………………….
3.2. Output design……………………………………………………………..
3.3. Database design…………………………………………………………...
3.4. System tools………………………………………………………………
3.4.1. Front end…………………………………………………………..
3.4.1.1. PHP………………………………………………………...
3.4.2. Back end…………………………………………………………...
3.4.2.1. MS SQL Server 2008 R2………………………………….
Chapter 4
4. Requirement Specification………………………………………………….
Chapter 5
5. Data Flow Diagram…………………………………………………………..
5.1. Context Level……………………………………………………………
5.2. 1st Level………………………………………………………………….
5.3. 2nd Level…………………………………………………………………
Chapter 6
6. ER Diagram…………………………………………………………………..
Chapter 7
7. Database Tables………………………………………………………………
Chapter 8
8. Normalization………………………………………………………………..
8.1. UNF……………………………………………………………………..
8.2. 1NF.…………………….……………………………………………….
8.3. 2NF. …………………………………………………………………….
Chapter 9
9. Screenshots……………………………………………………………………
Chapter 10
V
10. Coding…………………………………………………………………………
Chapter 11
11. Implementation and System Testing
11.1. Unit testing…………………………………………………………
11.1.1. Test for the admin module…………………………………………
11.2. Integration testing………………………………………………….
Chapter 12
12. Conclusion…………………………………………………………………….
VI
1. INTRODUCTION
The “Cafe Billing System” or “CBS” is an application to automate the process of information
recording and billing of a restaurant. This desktop based application is designed to administer its
users and customers. RBS is a billing system, made for the effective utilization of modern
technology in the organization. It is an automated software that can handle a lot of information
about the restaurant’s employees, order history, reservation data. It has the capability to process
bills and gather information about its employees and billing history. It is designed for the sole
purpose of efficiency, speed and accuracy. Waterfall Model is used to develop this software where
different requirements are identified at first, analyze the requirements then design the software
using various tools and techniques and using the development language the software is developed.
Different testing like unit testing and integration testing are done during the development process.
• File lost- When computerized system is not implemented file is always lost because of human
environment. Sometimes due to some human error there may be a loss of records.
• File damaged -When a computerized system is not their file is always lost due to some accident
like spilling of water by some member on file accidentally. Besides some natural disaster like
floods or fires may also damage the files.
• Difficult to search record- When there is no computerized system there is always a difficulty in
searching of records if the records are large in number.
• Space consuming- After the number of records become large the space for physical storage of
file and records also increases if no computerized system is implemented.
• Cost consuming- As there is no computerized system the to add each record paper will be needed
which will increase the cost for the management of library.
1.2. OBJECTIVE
Cafe Billing System is a computer based billing system with user friendly interface which
automatically manages the billing process of the customer very easily taking only a short period
of time. The system can large amount of data and also generates bill for the customer. Billing
history, reservation information and staff information can also be obtained with the use of RBS. It
is an automated desktop based software which has a simple design and very easy to use also. This
project’s main focus is on proper management of information regarding the staffs, billing and
reservation records. It is also specialized in automatically processing the customer bills and
discounts.
The project is identified by the merits of the system offered to the user. The merits of this project
are as follows: -
• This project offers user to enter the data through simple and interactive forms. This is very
helpful for the client to enter the desired information through so much simplicity.
• The user is mainly more concerned about the validity of the data, whatever he is entering.
There are checks on every stages of any new creation, data entry or updation so that the
user cannot enter the invalid data, which can create problems at later date.
• Sometimes the user finds in the later stages of using project that he needs to update some
of the information that he entered earlier. There are options for him by which he can update
the records. There is restriction for his that he cannot change the primary data field. This
keeps the validity of the data to longer extent.
• User is provided the option of monitoring the records he entered earlier. He can see the
desired records with the variety of options provided by him.
• From every part of the project the user is provided with the links through framing so that
he can go from one option of the project to other as per the requirement. This is bound to
be simple and very friendly as per the user is concerned. That is, we can say that the project
is user friendly which is one of the primary concerns of any good project.
• Data storage and retrieval will become faster and easier to maintain because data is stored
in a systematic manner and in a single database.
• Allocating of sample results becomes much faster because at a time the user can see the
records of last years.
• Easier and faster data transfer through latest technology associated with the computer and
communication.
• Through these features it will increase the efficiency, accuracy and transparency.
2. SYSTEM ANALYSIS
System analysis is the process of gathering and interpreting facts, diagnosing problems and using
the information to recommend improvements on the system. System analysis is a problem-solving
activity that requires intensive communication between the system users and system developers.
System analysis or study is an important phase of any system development process. The system is
viewed as a whole, the inputs are identified and the system is subjected to close study to identify
the problem areas. The solutions are given as a proposal. The proposal is reviewed on user request
and suitable changes are made. This loop ends as soon as the user is satisfied with the proposal.
o Admin can loging and maintain his details and can add other user or staff details, students
details, can add new course, and take and generate receipt and report of about students fee.
o Individually each member will have his account through which he can access the 4.4
2.3. Feasibility Study
Feasibility requirements are undertaken to have a view of understanding the features that are
incorporated in terms of the requirements to design and implementation. The references of the
feasibility study will be divided into multiple sections so that the understandability can be
organized so for example if we have to design software the required investment and flow of cash
has to be properly analysed in the same way technical associations are acquired to be discussed.
• Technical feasibility.
• Operational feasibility.
• Economic feasibility.
3. SYSTEM DESIGN
System design is the solution for the creation of a new system. This phase focuses on the detailed
implementation of the feasible system. It emphasis on translating design. Specifications to
performance specification. System design has two phases of development • Logical design •
Physical design During logical design phase the analyst describes inputs (sources), output
s(destinations), databases (data sores) and procedures (data flows) all in a format that meets the
user requirements. The analyst also specifies the needs of the user at a level that virtually
determines the information flow in and out of the system and the data resources. Here the logical
design is done through data flow diagrams and database design. The physical design is followed
by physical design or coding. Physical design produces the working system by defining the design
specifications, which specify exactly what the candidate system must do. The programmers write
the necessary programs that accept input from the user, perform necessary processing on accepted
data and produce the required report on a hard copy or display it on the screen.
PHP,HTML,CSS
3.4.1.1. PHP
PHP is a scripting language originally designed for producing dynamic web pages. It has evolved
to include a command line interface capability and can be used in standalone graphical
applications. While PHP was originally created by Rasmus Lerdorf in 1995, the main
implementation of PHP is now produced by The PHP Group and serves as the de facto standard
for PHP as there is no formal specification. PHP is free software released under the PHP License,
however it is incompatible with the GNU General Public License (GPL), due to restrictions on the
usage of the term PHP. It is a widely-used general-purpose scripting language that is especially
suited for web development and can be embedded into HTML. It generally runs on a web server,
taking PHP code as its input and creating web pages as output. It can be deployed on most web
servers and on almost every operating system and platform free of charge. PHP is installed on
more than 20 million websites and 1 million web servers.
EXTERNAL ENTITY
An external entity is a source or destination of a data flow. Only those entities which originate or
receive data are represented on a data flow diagram. The symbol used is a rectangular box.
Entity
PROCESS
A process shows a transformation or manipulation of data flow within the system. The symbol
used is an oval shape.
Process
DATAFLOW
The data flow shows the flow of information from a source to its destination. Data flow is
represented by a line, with arrowheads showing the direction of flow. Information always flows to
or from a process and may be written, verbal or electronic. Each data flow may be referenced by
the processes or data stores at its head and tail, or by a description of its contents.
Data Flow
DATA STORE
A data store is a holding place for information within the system: It is represented by an
openended narrow rectangle. Data stores may be long-term files such as sales ledgers, or may
be short-term accumulations: for example, batches of documents that are waiting to be
processed. Each data store should be given a reference followed by an arbitrary number.
Data Store
5.1. Context Level DFD
User D User_Details
User
1
Confirmation or Error Information alert for
message new or existing user
User D Invoice
Bill 4
Information alert for
Confirmation or
Error message current or existing
Alert payment details
5.3. 2nd Level DFD
User D User_details
New user 1
New user authentication
Confirmation or Error
details
message alert
Check the
Accept User ID, old authentication and
and new password 1.3 Change the password
User Change
D User_details
Password 1
Confirmation or Error Alert update
message alert information
Check the
Accept user data authentication and
to be update 1.4 update
User Update
D User_details
User 1
Alert update
Confirmation or Error
information
message alert
Category D Category_details
Search
2
Category
Fetch the information if exist
Show the record or error
message
Order D Order_details
New
3
Order
New order details
Confirmation or Error
message alert
Login.php
<!DOCTYPE html>
<html lang="en">
<?php
session_start();
include('./db_connect.php');
ob_start();
// if(!isset($_SESSION['system'])){
$system = $conn->query("SELECT * FROM system_settings limit 1")->fetch_array();
foreach($system as $k => $v){
$_SESSION['system'][$k] = $v;
}
// }
ob_end_flush();
?>
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
?>
</head>
<style>
body{
width: 100%;
height: calc(100%);
position: fixed;
top:0;
left: 0
/*background: #007bff;*/
}
main#main{
width:100%;
height: calc(100%);
display: flex;
}
</style>
<body class="bg-dark">
</body>
<script>
$('#login-form').submit(function(e){
e.preventDefault()
$('#login-form button[type="button"]').attr('disabled',true).html('Logging in...');
if($(this).find('.alert-danger').length > 0 )
$(this).find('.alert-danger').remove();
$.ajax({
url:'ajax.php?action=login',
method:'POST',
data:$(this).serialize(),
error:err=>{
console.log(err)
$('#login-form button[type="button"]').removeAttr('disabled').html('Login');
},
success:function(resp){
if(resp == 1){
location.href ='index.php?page=home';
}else{
$('#login-form').prepend('<div class="alert alert-danger">Username or password is
incorrect.</div>')
$('#login-form button[type="button"]').removeAttr('disabled').html('Login');
}
}
})
})
</script>
</html>
Category.php
<?php include('db_connect.php');?>
<div class="container-fluid">
<div class="col-lg-12">
<div class="row">
<!-- FORM Panel -->
<div class="col-md-4">
<form action="" id="manage-category">
<div class="card">
<div class="card-header">
Category Form
</div>
<div class="card-body">
<input type="hidden" name="id">
<div class="form-group">
<label class="control-label">Name</label>
<input type="text" class="form-control" name="name">
</div>
<div class="form-group">
<label class="control-label">Description</label>
<textarea name="description" id="description" cols="30" rows="4" class="form-
control"></textarea>
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-12">
<button class="btn btn-sm btn-primary col-sm-3 offset-md-3"> Save</button>
<button class="btn btn-sm btn-default col-sm-3" type="button" onclick="$('#manage-
category').get(0).reset()"> Cancel</button>
</div>
</div>
</div>
</div>
</form>
</div>
<!-- FORM Panel -->
</div>
<style>
td{
vertical-align: middle !important;
}
td p {
margin:unset;
}
</style>
<script>
$('#manage-category').on('reset',function(){
$('input:hidden').val('')
})
$('#manage-category').submit(function(e){
e.preventDefault()
start_load()
$.ajax({
url:'ajax.php?action=save_category',
data: new FormData($(this)[0]),
cache: false,
contentType: false,
processData: false,
method: 'POST',
type: 'POST',
success:function(resp){
if(resp==1){
alert_toast("Data successfully added",'success')
setTimeout(function(){
location.reload()
},1500)
}
else if(resp==2){
alert_toast("Data successfully updated",'success')
setTimeout(function(){
location.reload()
},1500)
}
}
})
})
$('.edit_category').click(function(){
start_load()
var cat = $('#manage-category')
cat.get(0).reset()
cat.find("[name='id']").val($(this).attr('data-id'))
cat.find("[name='name']").val($(this).attr('data-name'))
cat.find("[name='description']").val($(this).attr('data-description'))
end_load()
})
$('.delete_category').click(function(){
_conf("Are you sure to delete this category?","delete_category",[$(this).attr('data-id')])
})
function delete_category($id){
start_load()
$.ajax({
url:'ajax.php?action=delete_category',
method:'POST',
data:{id:$id},
success:function(resp){
if(resp==1){
alert_toast("Data successfully deleted",'success')
setTimeout(function(){
location.reload()
},1500)
}
}
})
}
$('table').dataTable()
</script>
Orders.php
<?php include('db_connect.php');?>
<style>
input[type=checkbox]
{
/* Double-sized Checkboxes */
-ms-transform: scale(1.3); /* IE */
-moz-transform: scale(1.3); /* FF */
-webkit-transform: scale(1.3); /* Safari and Chrome */
-o-transform: scale(1.3); /* Opera */
transform: scale(1.3);
padding: 10px;
cursor:pointer;
}
</style>
<div class="container-fluid">
<div class="col-lg-12">
<div class="row mb-4 mt-4">
<div class="col-md-12">
</div>
</div>
<div class="row">
<!-- FORM Panel -->
</div>
<style>
td{
vertical-align: middle !important;
}
td p{
margin: unset
}
img{
max-width:100px;
max-height: :150px;
}
</style>
<script>
$(document).ready(function(){
$('table').dataTable()
})
$('#new_order').click(function(){
uni_modal("New order ","manage_order.php","mid-large")
})
$('.view_order').click(function(){
uni_modal("Order Details","view_order.php?id="+$(this).attr('data-id'),"mid-large")
})
$('.delete_order').click(function(){
_conf("Are you sure to delete this order ?","delete_order",[$(this).attr('data-id')])
})
function delete_order($id){
start_load()
$.ajax({
url:'ajax.php?action=delete_order',
method:'POST',
data:{id:$id},
success:function(resp){
if(resp==1){
alert_toast("Data successfully deleted",'success')
setTimeout(function(){
location.reload()
},1500)
}
}
})
}
</script>
Sales_Report.php
<?php
include 'db_connect.php';
$month = isset($_GET['month']) ? $_GET['month'] : date('Y-m');
?>
<div class="container-fluid">
<div class="col-lg-12">
<div class="card">
<div class="card_body">
<div class="row justify-content-center pt-4">
<label for="" class="mt-2">Month</label>
<div class="col-sm-3">
<input type="month" name="month" id="month" value="<?php echo $month ?>" class="form-
control">
</div>
</div>
<hr>
<div class="col-md-12">
<table class="table table-bordered" id='report-list'>
<thead>
<tr>
<th class="text-center">#</th>
<th class="">Date</th>
<th class="">Invoice</th>
<th class="">Order Number</th>
<th class="">Amount</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
$total = 0;
$sales = $conn->query("SELECT * FROM orders where amount_tendered > 0 and
date_format(date_created,'%Y-%m') = '$month' order by unix_timestamp(date_created) asc ");
if($sales->num_rows > 0):
while($row = $sales->fetch_array()):
$total += $row['total_amount'];
?>
<tr>
<td class="text-center"><?php echo $i++ ?></td>
<td>
<p> <b><?php echo date("M d,Y",strtotime($row['date_created'])) ?></b></p>
</td>
<td>
<p> <b><?php echo $row['amount_tendered'] > 0 ? $row['ref_no'] : 'N/A' ?></b></p>
</td>
<td>
<p> <b><?php echo $row['order_number'] ?></b></p>
</td>
<td>
<p class="text-right"> <b><?php echo number_format($row['total_amount'],2) ?></b></p>
</td>
</tr>
<?php
endwhile;
else:
?>
<tr>
<th class="text-center" colspan="5">No Data.</th>
</tr>
<?php
endif;
?>
</tbody>
<tfoot>
<tr>
<th colspan="4" class="text-right">Total</th>
<th class="text-right"><?php echo number_format($total,2) ?></th>
</tr>
</tfoot>
</table>
<hr>
<div class="col-md-12 mb-4">
<center>
<button class="btn btn-success btn-sm col-sm-3" type="button" id="print"><i class="fa fa-
print"></i> Print</button>
</center>
</div>
</div>
</div>
</div>
</div>
</div>
<noscript>
<style>
table#report-list{
width:100%;
border-collapse:collapse
}
table#report-list td,table#report-list th{
border:1px solid
}
p{
margin:unset;
}
.text-center{
text-align:center
}
.text-right{
text-align:right
}
</style>
</noscript>
<script>
$('#month').change(function(){
location.replace('index.php?page=sales_report&month='+$(this).val())
})
$('#print').click(function(){
var _c = $('#report-list').clone();
var ns = $('noscript').clone();
ns.append(_c)
var nw = window.open('','_blank','width=900,height=600')
nw.document.write('<p class="text-center"><b>Order Report as of <?php echo date("F,
Y",strtotime($month)) ?></b></p>')
nw.document.write(ns.html())
nw.document.close()
nw.print()
setTimeout(() => {
nw.close()
}, 500);
})
</script>
Products.php
<?php include('db_connect.php');?>
<div class="container-fluid">
<div class="col-lg-12">
<div class="row">
<!-- FORM Panel -->
<div class="col-md-4">
<form action="" id="manage-product">
<div class="card">
<div class="card-header">
Product Form
</div>
<div class="card-body">
<input type="hidden" name="id">
<div class="form-group">
<label class="control-label">Category</label>
<select name="category_id" id="category_id" class="custom-select select2">
<option value=""></option>
<?php
$qry = $conn->query("SELECT * FROM categories order by name asc");
while($row=$qry->fetch_assoc()):
$cname[$row['id']] = ucwords($row['name']);
?>
<option value="<?php echo $row['id'] ?>"><?php echo $row['name'] ?></option>
<?php endwhile; ?>
</select>
</div>
<div class="form-group">
<label class="control-label">Name</label>
<input type="text" class="form-control" name="name">
</div>
<div class="form-group">
<label class="control-label">Description</label>
<textarea name="description" id="description" cols="30" rows="4" class="form-
control"></textarea>
</div>
<div class="form-group">
<label class="control-label">Price</label>
<input type="number" class="form-control text-right" name="price">
</div>
<div class="form-group">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="status" name="status" checked
value="1">
<label class="custom-control-label" for="status">Available</label>
</div>
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-12">
<button class="btn btn-sm btn-primary col-sm-3 offset-md-3"> Save</button>
<button class="btn btn-sm btn-default col-sm-3" type="button" onclick="$('#manage-
product').get(0).reset()"> Cancel</button>
</div>
</div>
</div>
</div>
</form>
</div>
<!-- FORM Panel -->
</div>
<style>
td{
vertical-align: middle !important;
}
td p {
margin:unset;
}
.custom-switch{
cursor: pointer;
}
.custom-switch *{
cursor: pointer;
}
</style>
<script>
$('#manage-product').on('reset',function(){
$('input:hidden').val('')
$('.select2').val('').trigger('change')
})
$('#manage-product').submit(function(e){
e.preventDefault()
start_load()
$.ajax({
url:'ajax.php?action=save_product',
data: new FormData($(this)[0]),
cache: false,
contentType: false,
processData: false,
method: 'POST',
type: 'POST',
success:function(resp){
if(resp==1){
alert_toast("Data successfully added",'success')
setTimeout(function(){
location.reload()
},1500)
}
else if(resp==2){
alert_toast("Data successfully updated",'success')
setTimeout(function(){
location.reload()
},1500)
}
}
})
})
$('.edit_product').click(function(){
start_load()
var cat = $('#manage-product')
cat.get(0).reset()
cat.find("[name='id']").val($(this).attr('data-id'))
cat.find("[name='name']").val($(this).attr('data-name'))
cat.find("[name='description']").val($(this).attr('data-description'))
cat.find("[name='price']").val($(this).attr('data-price'))
cat.find("[name='category_id']").val($(this).attr('data-category_id')).trigger('change')
if($(this).attr('data-status') == 1)
$('#status').prop('checked',true)
else
$('#status').prop('checked',false)
end_load()
})
$('.delete_product').click(function(){
_conf("Are you sure to delete this product?","delete_product",[$(this).attr('data-id')])
})
function delete_product($id){
start_load()
$.ajax({
url:'ajax.php?action=delete_product',
method:'POST',
data:{id:$id},
success:function(resp){
if(resp==1){
alert_toast("Data successfully deleted",'success')
setTimeout(function(){
location.reload()
},1500)
}
}
})
}
$('table').dataTable()
</script>
Receipt.php
<?php
include 'db_connect.php';
$order = $conn->query("SELECT * FROM orders where id = {$_GET['id']}");
foreach($order->fetch_array() as $k => $v){
$$k= $v;
}
$items = $conn->query("SELECT o.*,p.name FROM order_items o inner join products p on p.id
= o.product_id where o.order_id = $id ");
?>
<style>
.flex{
display: inline-flex;
width: 100%;
}
.w-50{
width: 50%;
}
.text-center{
text-align:center;
}
.text-right{
text-align:right;
}
table.wborder{
width: 100%;
border-collapse: collapse;
}
table.wborder>tbody>tr, table.wborder>tbody>tr>td{
border:1px solid;
}
p{
margin:unset;
}
</style>
<div class="container-fluid">
<p class="text-center"><b><?php echo $amount_tendered > 0 ? "Receipt" : "Bill" ?></b></p>
<hr>
<div class="flex">
<div class="w-100">
<?php if($amount_tendered > 0): ?>
<p>Invoice Number: <b><?php echo $ref_no ?></b></p>
<?php endif; ?>
<p>Date: <b><?php echo date("M d, Y",strtotime($date_created)) ?></b></p>
</div>
</div>
<hr>
<p><b>Order List</b></p>
<table width="100%">
<thead>
<tr>
<td><b>QTY</b></td>
<td><b>Order</b></td>
<td class="text-right"><b>Amount</b></td>
</tr>
</thead>
<tbody>
<?php
while($row = $items->fetch_assoc()):
?>
<tr>
<td><?php echo $row['qty'] ?></td>
<td><p><?php echo $row['name'] ?></p><?php if($row['qty'] > 0): ?><small>(<?php echo
number_format($row['price'],2) ?>)</small> <?php endif; ?></td>
<td class="text-right"><?php echo number_format($row['amount'],2) ?></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
<hr>
<table width="100%">
<tbody>
<tr>
<td><b>Total Amount</b></td>
<td class="text-right"><b><?php echo number_format($total_amount,2) ?></b></td>
</tr>
<?php if($amount_tendered > 0): ?>
<tr>
<td><b>Amount Tendered</b></td>
<td class="text-right"><b><?php echo number_format($amount_tendered,2) ?></b></td>
</tr>
<tr>
<td><b>Change</b></td>
<td class="text-right"><b><?php echo number_format($amount_tendered - $total_amount,2)
?></b></td>
</tr>
<?php endif; ?>
</tbody>
</table>
<hr>
<p class="text-center"><b>Order No.</b></p>
<h4 class="text-center"><b><?php echo $order_number ?></b></h4>
</div>
11. IMPLEMENTATION AND SYSTEM TESTING
The aim of the system testing process was to determine all defects in our project .The program was
subjected to a set of test inputs and various observations were made and based on these
observations it will be decided whether the program behaves as expected or not. Our Project went
through two levels of testing
1. Unit testing
2. integration testing
It has been a great pleasure for me to work on this exciting and challenging project. This project
proved good for me as it provided practical knowledge of not only programming in PHP and
MySQL web-based application. It also provides knowledge about the latest technology used in
developing web enabled application and client server technology that will be great demand in
future. This will provide better opportunities and guidance in future in developing projects
independently.