Professional Documents
Culture Documents
Grocery Management System
Grocery Management System
PROJECT REPORT
ON
Grocery Management System
Submitted in partial fulfillment for award of the
BACHELOR OF COMPUTER APPLICATION (BCA)
OF
GAUHATI UNIVERSITY
SESSION 2022-2023
SUBMITTED BY
MIZANUR ISLAM
BCA 5TH SEMESTER
ROLL NO-UT-201-162-0018
REGISTRATION NO-20032903 of 2020-21
Guided by-
BEGUM MEHTAJ SHIRIN
ASSTT. PROFESSOR
Dept. of BCA, B.N College
This to certify that the project entitled “GROCERY MANAGEMENT SYSTEM” of B.N. College is
benefited work done by Mizanur Islam, B.N. College, Dhubri bearing Roll No: UT-201-162-0018
and Registration no. 20032903 of 2020-21 along with my project mate Rehena Khatun bearing his
Roll No. UT-201-162-0022 and Registration No.20032907 of 2020-21 and Rahinur Khatun bearing
Roll No. UT-201-162-0021 and Registration No. 20032906 for “B.N. College, Dhubri” in fulfillment
of the requirement for the award of the BCA and have been carried out this project under my
supervision.
During the project work, he has successfully completed the study of submitted the report.
This report or a similar report on the topic have not been submitted for any other examination and
does not form part of any course undergone by the candidate.
Date: .
Place: .
Signature of the
(External Guide)
CERTIFICATE
This is to certify that the project entitled “GROCERY MANAGEMENT SYSTEM” is carried out by
Mizanur Islam, along with his project mate Rehena Khatun and Rahinur Khatun students of 5th
semester for Bachelor of Computer Application of Bholanath College, Dhubri.
This project work of Mizanur islam along with his project mate Rehena Khatun and Rahinur
Khatun is submitted for the requirement of the degree BCA to be awarded by Gauhati University. This
work has not been presented earlier for any other academic activity.
During the period of his project work, she has been found to be sincere and hardworking. I wish him all
success in future career and life.
Date: _________________.
Place: _________________.
This project work has been prepared as a fulfillment of the requirement for the degree of
GROCERY MANAGEMENT SYSTEM to be awarded by Gauhati University. His work has not been
submitted for any other academic activity.
During the period of his project work, he has been found to be sincere and hardworking. I wish his all
success in life.
Date: .
Place: .
(Begum Mehtaz
Shirin) Asstt.Professor
Department of B.C.A,
B.N. College,Dhubri
4
ACKNOWLEDGEMENT
I feel immense pleasure in expressing my sincere thanks and gratitude ,along with my project mate
Rehena Khatun and Rahinur Khatun to our project guide Begum Mehtaz Shirin , Faculty of B.C.A
Department, B.N. College for his valuable guidance and constant encouragement throughout the entire
project work entitled “GROCERY MANAGEMENT SYSTEM” without which this project would
never been possible.
I also express my honest thanks and gratitude to Dr. Dhruba Chakrabortty, Principal of B.N. College,
Dhubri for giving me the chance to complete B.C.A degree under Gauhati University. I also thank all
the faculty members for their kind cooperation and help to success my project. Al last I also express
my thanks to all my friends those who give me the constant inspiration for fulfillment of the project.
Date: .
Place: .
(Mizanur Islam)
Roll No: UT-201-162-0018
Registration No: 20032903 of 2020-21
B.N. College, Dhubri.
5
SELF DECLARATION
I also declare that any or all contents incorporated in the dissertation has not been
submitted anywhere for the award of any degree from institute or university.
Date: .
Place: .
(Mizanur Islam)
Roll No: UT-201-162-0018
Registration No: 20032903 of 2020-21
B.N. College, Dhubri.
6
TABLE OF CONTENTS
Sr. No Contents
1. Introduction / objectives--------------------------------------- 1
Abstract of the Project Online Food Ordering System------------------ 2
Main objectives ------------------------------------------------------------------ 2
Functionalities provided by Online Food Ordering System are as
follows----------------------------------------------------------------------------------------- 2-3
Scope of the project Grocery Shop Management System-------------- 3
Reports of Grocery Shop Management System -------------------------- 4
Modules of Grocery Shop Management System-------------------------- 4
6. System design:
a. Modularization Details-------------------------------------17
b. Data integrity and constraints----------------------------17 - 18
c. Database design / procedural design / object oriented
design.--------------------------------------------------------------18
d. User interface design---------------------------------------19
7. Coding:
User Registration----------------------------------------20 - 25
User Login-------------------------------------------------26 - 29
Product check out---------------------------------------30 - 35
8. Testing :
I. Techniques and strategies along with test case design
and test report.-------------------------- 35 - 36
7
II. Debugging and improvement.------------------ 36 - 37
home screen---------------------------------------------39
products screen------------------------------------------39
User Registration screen------------------------------40
user login screen-----------------------------------------40
cart screen--------------------------------41
check out ----------------------------------41
My orders screen-----------------------------------------41
Admin login------------------------------------------------42
Admin dashboard-----------------------------------------42
12. Future
Scope------------------------------------------------------------42 – 43
13. Bibliography ------------------------------------------------------------44
8
0
INTRODUCTION:
A Grocery management system is the system where all the aspects related to the proper management
of a grocery store are done. These aspects involve managing information about the varied products, staff,
managers, customers, billing, etc. This system provides an efficient way of managing grocery store
information. Also allows the customer to get and buy the things purchased.
This project is based on the sales transaction and billing of items in a grocery store. The first activity is
based on adding the items to the system along with the rate, which is present in the grocery store and the
name of the items, which the grocery store will agree to sell. This authority is given only to the admin
(administrator). Any modifications to be wiped out the item name and therefore the rate is often done only
by admin. He also has the proper to delete any item. As the customer buys the products and involves the
billing counter, the user is meant to enter the item name he purchased and therefore the quantity of the item
This study is to produce software that manages the sales activity done in a grocery store, maintaining the
stock details, and maintaining the records of the sales done for a particular month/year. The users will
consume less time in calculation and therefore the sales activity are going to be completed within a fraction
of seconds whereas manual system will make the user write it down which is a long procedure and so
paperwork will be reduced and the user can spend more time on the monitoring the grocery store. The
project is going to be user-friendly and straightforward to use. The system will display all the things whose
name starts with the letter selected by the user. He can select out of those displayed. Finally, a separate bill
is going to be generated for every customer. This will be saved in the database. Any periodic records are
often viewed at any time. Admin provides a singular username and password for every employee through
1
Abstract of the Project Online Food Ordering System:
The purpose of Online Food Ordering System is to automate the existing manual system by the help of
computerized equipments and full-fledged computer software, fulfilling their requirements, so that their
valuable data/information can be stored for a longer period with easy accessing and manipulation of the
same. The required software and hardware are easily available and easy to work with.
Online Food Ordering System, as described above, can lead to error free. secure, reliable and fast
management system. It can assist the user to concentrate on their other activities rather to concentrate on the
record keeping. Thus it will help organization in better utilization of resources. The organization can
maintain computerized records without redundant entries. That means that one need not be distracted by
information that is not relevant, while being able to reach the information.
The aim is to automate its existing manual system by the help of computerized equipments and full- fledged
computer software, fulfilling their requirements, so that their valuable data/information can be stored for a
longer period with easy accessing and manipulation of the same. Basically the project describes how to
manage for good performance and better services for the clients.
MAIN OBJECTIVES :
The main objective of this project Grocery Management Web application is to provide an online
product/ grocery-purchasing website. Everyone needs food to survive. If someone wants to cook food even
by themselves, they’ll first have to go to some grocery store, buy items, and carry all that heavy load of raw
materials themselves to their home. That’s where an online solution can help so we have implemented the
Online Grocery management web application. All one needs to do is order everything they need for their
cooking requirements online and relax till it gets delivered to their homes.
Provides the searching facilities based on various factors. Such as Food Item,Customer, Order,
Confirm Order
Online Food Ordering System also manage the Payment details online for Order details, Confirm
Order details, Food Item.
2
It tracks all the information of Category, Payment, Order etc Manage the information of
Category .
Shows the information and description of the Food Item, Customer.
To increase efficiency of managing the Food Item, Category It deals with monitoring the
information and transactions of Order.
Manage the information of Food Item Editing, adding and updating of Records is improved which
results in proper resource management of Food Item data.
Manage the information of Order.
Integration of all records of Confirm Order.
It may help collecting perfect management in details. In a very short time, the collection will be obvious,
simple and sensible. It will help a person to know the management of passed year perfectly and vividly. It
also helps in current all works relative to Grocery Shop Management System. It will be also reduced the cost
of collecting the management & collection procedure will go on smoothly.
Our project aims at Business process automation, i.e. we have tried to computerize various processes of
Grocery Shop Management System.
In computer system the person has to fill the various forms & number of copies of the forms
can be easily generated at a time.
In computer system, it is not necessary to create the manifest but we can directly print it, which
saves our time.
To assist the staff in capturing the effort spent on their respective working areas.
To utilize resources in an efficient manner by increasing their productivity through
automation.
The system generates types of information that can be used for various purposes.
It satisfy the user requirement.
Be easy to understand by the user and operator
Be easy to operate
Have a good user interface
Be expandable
Delivered on schedule within the budget.
3
Reports of Grocery Shop Management System:
4
Project Planning:
The main focus of the project was to create a single working “GROCERY MANAGEMENT SYSTEM”
that acts as both a terminal for taking orders and a terminal for generating reports and making changes to
items on the menu.
Project planning was done to define the scope of the project, assess risks, and estimate and schedule project
activities and thereby lay the foundation for the execution, monitoring and control of the project.
Scheduling:
The project scheduling is a mechanism to communicate what tasks need to get done and which
organizational resources will be allocated complete those tasks in what timeframe.
A project scheduling is a document collecting all the work needed to deliver the project on time.
State Diagram:
State diagram are a familiar technique to describe the behavior of a system. They describe all the possible
states a particular object can get into and how the objects state changes as a result of events that reach the
objects. In most 00 technique, state diagrams are drawn for a single class to show the lifetime behavior of a
singe object. There are many form of state diagram, each with slightly different semantics. The most popular
one used in OO technique is based on David Harel's state chart.
The Software Requirements Specification is produced at the culmination of the analysis task. The function
and performance allocated to software as part of system engineering are refined by establishing a complete
information description, a detailed functional and behavioral description, an indication of performance
requirements and design constraints, appropriate validation criteria, and other data pertinent to requirements.
5
The proposed system has the following requirements:
Software Requirements:
6
Hardware Requirements:
Design Approach:
The Design Approach starts with the conceptual design in the baseline spiral and involves
architectural design, logical design of modules, physical product design and the final design in the
subsequent spirals.
7
Flowchart :
8
State diagram:
9
ER diagram:
E-R Model is a popular high level conceptual data model. This model and its variations are frequently
used for the conceptual design of database application and many database design tools employ its
concept.
A database that confirms to an E-R diagram can be represented by a collecton of tables in the relational
system. The mapping of E-R diagram to the entities are:
Attributes
Relations
Many-to-many
Many-to-one
One-to-many
One-to-one
Weak entities
Sub-type and super-type.
Model is an abstraction process that hides super details while highlighting details relation to
application at end.
A data model is a mechanism that provides this abstraction for database application.
Data modeling is used for representing entities and their relationship in the database.
Entities are the basic units used in modeling database entities can have concrete existence or
constitute ideas or concepts.
Entity type or entity set is a group of similar objects concern to an organization for which it maintain
data,Properties are characteristics of an entity also called as attributes
A key is a single attribute or combination of 2 or more attributes of an entity set is used to identify
one or more instances of the set. In relational model we represent the entity by a relation and use
tuples to represent an instance of the entity.
Relationship is used in data modeling to represent in association between an entity set.
An association between two attributes indicates that the values of the associated attributes are
independent.
10
Fig: ER diagram
11
DFD (Data flow diagram):
Data flow diagram is the starting point of the design phase that functionally decomposes the requirements
specification. A DFD consists of a series of bubbles joined by lines. The bubbles represent data
transformation and the lines represent data flows in the system. A DFD describes what data flow rather than
how they are processed, so it does not hardware, software and data structure.
A data-flow diagram (DFD) is a graphical representation of the "flow" of data through an information system.
DFDs can also be used for the visualization of data processing (structured design). A data flow diagram
(DFD) is a significant modeling technique for analyzing and constructing information processes. DFD
literally means an illustration that explains the course or movement of information in a process. DFD
illustrates this flow of information in a process based on the inputs and outputs. A DFD can be referred to as
a Process Model.
The data flow diagram is a graphical description of a system's data and how to Process transform the data is
known as Data Flow Diagram (DFD).
Unlike details flow chart, DFDs don't supply detail descriptions of modules that graphically describe a
system's data and how the data interact with the system. Data flow diagram number of symbols and the
following symbols are of by DeMarco.
Level-0 DFD :
Also known as context diagrams, are the most basic data flow diagrams. They provide a broad
view that is easily digestible but offers little detail.
12
Level-1:-
Level 1 DFDs are still a general overview, but they go into more detail than a context diagram. In a
level 1 data flow diagram, the single process node from the context diagram is broken down into sub
processes. As these processes are added, the diagram will need additional data flows and data stores
to link them together.
13
LEVE-2: DFD :-
LEVE-3: DFD :-
LEVE-4: DFD :-
14
LEVE-5: DFD :-
LEVE-6: DFD :-
15
LEVE-7: DFD :-
LEVE-:8 DFD :-
16
System design:
In this phase, a logical system is built which fulfils the given requirements. Design phase of software
development deals with transforming the client’s requirements into a logically working system. Normally,
design is performed in the following in the following two steps:
1. Primary Design Phase: In this phase, the system is designed at block level. The blocks are
created on the basis of analysis done in the problem identification phase. Different blocks are created
for different functions emphasis is put on minimizing the information flow between blocks. Thus, all
activities which require more interaction are kept in one block.
2. Secondary Design Phase: In the secondary phase the detailed design of every block is
performed.
The general tasks involved in the design process are the following:
5. Design the form of inputs, and outputs of the system. 6. Perform documentation of the design.
7. System reviews.
17
In Database Management Systems, integrity constraints are pre-defined set of rules that are
applied on the table fields(columns) or relations to ensure that the overall validity, integrity, and
consistency of the data present in the database table is maintained. Evaluation of all the conditions or
rules mentioned in the integrity constraint is done every time a table insert, update, delete, or alter
operation is performed. The data can be inserted, updated, deleted, or altered only if the result of the
constraint comes out to be True. Thus, integrity constraints are useful in preventing any accidental
Database design can be generally defined as a collection of tasks or processes that enhance the
Designing a proper database reduces the maintenance cost thereby improving data consistency and
the cost-effective measures are greatly influenced in terms of disk storage space. Therefore, there has
to be a brilliant concept of designing a database. The designer should follow the constraints and
decide how the elements correlate and what kind of data must be stored.
The main objectives behind database designing are to produce physical and logical design models of
the proposed database system. To elaborate this, the logical model is primarily concentrated on the
requirements of data and the considerations must be made in terms of monolithic considerations and
hence the stored physical data must be stored independent of the physical conditions. On the other
hand, the physical database design model includes a translation of the logical design model of the
database by keep control of physical media using hardware resources and software systems such as
18
User Interface Design:
User Interface Design is conceded with the dialogue between a user and the computer. It is
concerned with everything from starting the system or logging into the system to the eventually
presentation of desired inputs and outputs. The overall flow of screens and messages is called a
dialogue.
The following steps are various guidelines for User Interface Design:
1. The system user should always be aware of what to do next.
2. The screen should be formatted so that various types of information, instructions and
messages always appear in the same general display area.
3. Message, instructions or information should be displayed long enough to allow the system user to
read them.
5. Default values for fields and answers to be entered by the user should be specified.
7. The system user should never get an operating system message or fatal error.
19
Coding:
Registration:
<!DOCTYPE html>
<html lang="en">
<?php
session_start();
error_reporting(0);
include("connection/connect.php");
if(isset($_POST['submit'] ))
{
if(empty($_POST['firstname']) ||
empty($_POST['lastname'])||
empty($_POST['email']) ||
empty($_POST['phone'])||
empty($_POST['password'])||
empty($_POST['cpassword']) ||
empty($_POST['cpassword']))
{
$message = "All fields must be Required!";
}
else
{
$check_username= mysqli_query($db, "SELECT username FROM users where username = '".
$_POST['username']."' ");
$check_email = mysqli_query($db, "SELECT email FROM users where email = '".
$_POST['email']."' ");
if($_POST['password'] != $_POST['cpassword']){
echo "<script>alert('Password not match');</script>";
}
elseif(strlen($_POST['password']) < 6)
{
echo "<script>alert('Password Must be >=6');</script>";
}
elseif(strlen($_POST['phone']) < 10)
{
echo "<script>alert('Invalid phone number!');</script>";
}
20
elseif (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
echo "<script>alert('Invalid email address please type a valid
email!');</script>";
}
elseif(mysqli_num_rows($check_username) > 0)
{
echo "<script>alert('Username Already exists!');</script>";
}
elseif(mysqli_num_rows($check_email) > 0)
{
echo "<script>alert('Email Already exists!');</script>";
}
else{
$mql = "INSERT INTO users(username,f_name,l_name,email,phone,password,address) VALUES('".
$_POST['username']."','".$_POST['firstname']."','".$_POST['lastname']."','".
$_POST['email']."','".$_POST['phone']."','".md5($_POST['password'])."','".
$_POST['address']."')";
mysqli_query($db, $mql);
header("refresh:0.1;url=login.php");
}
}
?>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="#">
<title>Registration</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
<link href="css/animsition.min.css" rel="stylesheet">
<link href="css/animate.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet"> </head>
<body>
<div style=" background-image: url('images/img/pimg.jpg');">
<header id="header" class="header-scroll top-header headrom">
21
<nav class="navbar navbar-dark">
<div class="container">
<button class="navbar-toggler hidden-lg-up" type="button" data-
toggle="collapse" data-target="#mainNavbarCollapse">☰</button>
<a class="navbar-brand" href="index.php"> <img class="img-rounded"
src="images/icn.png" alt=""> </a>
<div class="collapse navbar-toggleable-md float-lg-right"
id="mainNavbarCollapse">
<ul class="nav navbar-nav">
<li class="nav-item"> <a class="nav-link active" href="index.php">Home
<span class="sr-only">(current)</span></a> </li>
<li class="nav-item"> <a class="nav-link active"
href="restaurants.php">Shoap <span class="sr-only"></span></a> </li>
<?php
if(empty($_SESSION["user_id"]))
{
echo '<li class="nav-item"><a href="login.php" class="nav-link
active">Login</a> </li>
<li class="nav-item"><a href="registration.php" class="nav-link
active">Register</a> </li>';
}
else
{
echo '<li class="nav-item"><a href="your_orders.php"
class="nav-link active">My Orders</a> </li>';
echo '<li class="nav-item"><a href="logout.php" class="nav-link
active">Logout</a> </li>';
}
?>
</ul>
</div>
</div>
</nav>
</header>
<div class="page-wrapper">
<div class="container">
<ul>
</ul>
</div>
<section class="contact-page inner-page">
22
<div class="container ">
<div class="row ">
<div class="col-md-12">
<div class="widget" >
<div class="widget-body">
<form action="" method="post">
<div class="row">
<div class="form-group col-sm-12">
<label for="exampleInputEmail1">User-Name</label>
<input class="form-control" type="text"
name="username" id="example-text-input">
</div>
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">First Name</label>
<input class="form-control" type="text"
name="firstname" id="example-text-input">
</div>
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">Last Name</label>
<input class="form-control" type="text"
name="lastname" id="example-text-input-2">
</div>
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">Email Address</label>
<input type="text" class="form-control" name="email"
id="exampleInputEmail1" aria-describedby="emailHelp">
</div>
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">Phone number</label>
<input class="form-control" type="text" name="phone"
id="example-tel-input-3">
</div>
<div class="form-group col-sm-6">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control"
name="password" id="exampleInputPassword1">
</div>
<div class="form-group col-sm-6">
<label for="exampleInputPassword1">Confirm
password</label>
<input type="password" class="form-control"
name="cpassword" id="exampleInputPassword2">
</div>
<div class="form-group col-sm-12">
<label for="exampleTextarea">Delivery Address</label>
<textarea class="form-control" id="exampleTextarea"
name="address" rows="3"></textarea>
</div>
23
</div>
<div class="row">
<div class="col-sm-4">
<p> <input type="submit" value="Register"
name="submit" class="btn theme-btn"> </p>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
<footer class="footer">
<div class="container">
<div class="row bottom-footer">
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-3 payment-options color-gray">
<h5>Payment Options</h5>
<ul>
<li>
<a href="#"> <img src="images/paypal.png" alt="Paypal">
</a>
</li>
<li>
<a href="#"> <img src="images/mastercard.png"
alt="Mastercard"> </a>
</li>
<li>
<a href="#"> <img src="images/maestro.png"
alt="Maestro"> </a>
</li>
<li>
<a href="#"> <img src="images/stripe.png" alt="Stripe">
</a>
</li>
<li>
24
<a href="#"> <img src="images/bitcoin.png"
alt="Bitcoin"> </a>
</li>
</ul>
</div>
<div class="col-xs-12 col-sm-4 address color-gray">
<h5>Address</h5>
<p>1086 Stockert Hollow Road, Seattle</p>
<h5>Phone: 75696969855</a></h5> </div>
<div class="col-xs-12 col-sm-5 additional-info color-gray">
<h5>Addition informations</h5>
<p>Join thousands of other shop who benefit from having
partnered with us.</p>
</div>
</div>
</div>
</div>
</div>
</footer>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/tether.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/animsition.min.js"></script>
<script src="js/bootstrap-slider.min.js"></script>
<script src="js/jquery.isotope.min.js"></script>
<script src="js/headroom.js"></script>
<script src="js/foodpicky.min.js"></script>
</body>
</html>
25
Login:
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>Login</title>
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
<style type="text/css">
#buttn{
color:#fff;
background-color: #5c4ac7;
}
</style>
<body>
<header id="header" class="header-scroll top-header headrom">
<nav class="navbar navbar-dark">
<div class="container">
<button class="navbar-toggler hidden-lg-up" type="button" data-
toggle="collapse" data-target="#mainNavbarCollapse">☰</button>
<a class="navbar-brand" href="index.php"> <img class="img-rounded"
src="images/icn.png" alt=""> </a>
<div class="collapse navbar-toggleable-md float-lg-right"
id="mainNavbarCollapse">
<ul class="nav navbar-nav">
<li class="nav-item"> <a class="nav-link active"
href="index.php">Home <span class="sr-only">(current)</span></a> </li>
26
<li class="nav-item"> <a class="nav-link active"
href="restaurants.php">Shoap <span class="sr-only"></span></a> </li>
<?php
if(empty($_SESSION["user_id"]))
{
echo '<li class="nav-item"><a href="login.php" class="nav-link
active">Login</a> </li>
<li class="nav-item"><a href="registration.php" class="nav-link
active">Register</a> </li>';
}
else
{
echo '<li class="nav-item"><a href="your_orders.php" class="nav-link
active">My Orders</a> </li>';
echo '<li class="nav-item"><a href="logout.php" class="nav-link
active">Logout</a> </li>';
}
?>
</ul>
</div>
</div>
</nav>
</header>
<div style=" background-image: url('images/img/pimg.jpg');">
<?php
include("connection/connect.php");
error_reporting(0);
session_start();
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
if(!empty($_POST["submit"]))
{
$loginquery ="SELECT * FROM users WHERE username='$username' &&
password='".md5($password)."'"; //selecting matching records
$result=mysqli_query($db, $loginquery); //executing
$row=mysqli_fetch_array($result);
if(is_array($row))
{
$_SESSION["user_id"] = $row['u_id'];
header("refresh:1;url=index.php");
}
else
27
{
$message = "Invalid Username or Password!";
}
}
}
?>
<div class="pen-title">
<
</div>
<div class="container-fluid pt-3">
<p></p>
</div>
<footer class="footer">
<div class="container">
<div class="bottom-footer">
<div class="row">
<div class="col-xs-12 col-sm-3 payment-options color-gray">
<h5>Payment Options</h5>
<ul>
28
<li>
<a href="#"> <img src="images/paypal.png" alt="Paypal">
</a>
</li>
<li>
<a href="#"> <img src="images/mastercard.png"
alt="Mastercard"> </a>
</li>
<li>
<a href="#"> <img src="images/maestro.png"
alt="Maestro"> </a>
</li>
<li>
<a href="#"> <img src="images/stripe.png" alt="Stripe">
</a>
</li>
<li>
<a href="#"> <img src="images/bitcoin.png"
alt="Bitcoin"> </a>
</li>
</ul>
</div>
<div class="col-xs-12 col-sm-4 address color-gray">
<h5>Address</h5>
<p>1086 Stockert Hollow Road, Seattle</p>
<h5>Phone: 75696969855</a></h5> </div>
<div class="col-xs-12 col-sm-5 additional-info color-gray">
<h5>Addition informations</h5>
<p>Join thousands of other restaurants who benefit from having
partnered with us.</p>
</div>
</div>
</div>
</div>
</footer>
</body>
</html>
29
Products Check out:
<!DOCTYPE html>
<html lang="en">
<?php
include("connection/connect.php");
include_once 'product-action.php';
error_reporting(0);
session_start();
function function_alert() {
if(empty($_SESSION["user_id"]))
{
header('location:login.php');
}
else{
foreach ($_SESSION["cart_item"] as $item)
{
$item_total +=
($item["price"]*$item["quantity"]);
if($_POST['submit'])
{
$SQL="insert into
users_orders(u_id,title,quantity,price) values('".$_SESSION["user_id"]."','".
$item["title"]."','".$item["quantity"]."','".$item["price"]."')";
mysqli_query($db,$SQL);
unset($_SESSION["cart_item"]);
unset($item["title"]);
unset($item["quantity"]);
unset($item["price"]);
$success = "Thank you. Your order
has been placed!";
function_alert();
30
}
}
?>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="#">
<title>Checkout</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
<link href="css/animsition.min.css" rel="stylesheet">
<link href="css/animate.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet"> </head>
<body>
<div class="site-wrapper">
<header id="header" class="header-scroll top-header headrom">
<nav class="navbar navbar-dark">
<div class="container">
<button class="navbar-toggler hidden-lg-up" type="button" data-
toggle="collapse" data-target="#mainNavbarCollapse">☰</button>
<a class="navbar-brand" href="index.php"> <img class="img-rounded"
src="images/icn.png" alt=""> </a>
<div class="collapse navbar-toggleable-md float-lg-right"
id="mainNavbarCollapse">
<ul class="nav navbar-nav">
<li class="nav-item"> <a class="nav-link active"
href="index.php">Home <span class="sr-only">(current)</span></a> </li>
<li class="nav-item"> <a class="nav-link active"
href="restaurants.php">Shoap <span class="sr-only"></span></a> </li>
<?php
if(empty($_SESSION["user_id"]))
{
echo '<li class="nav-item"><a href="login.php" class="nav-
link active">Login</a> </li>
<li class="nav-item"><a href="registration.php" class="nav-
link active">Register</a> </li>';
}
else
{
echo '<li class="nav-item"><a
href="your_orders.php" class="nav-link active">My Orders</a> </li>';
echo '<li class="nav-item"><a href="logout.php"
class="nav-link active">Logout</a> </li>';
31
}
?>
</ul>
</div>
</div>
</nav>
</header>
<div class="page-wrapper">
<div class="top-links">
<div class="container">
<ul class="row links">
<li class="col-xs-12 col-sm-4 link-item"><span>1</span><a
href="restaurants.php">Choose Restaurant</a></li>
<li class="col-xs-12 col-sm-4 link-item "><span>2</span><a
href="#">Pick Your favorite food</a></li>
<li class="col-xs-12 col-sm-4 link-item active" ><span>3</span><a
href="checkout.php">Order and Pay</a></li>
</ul>
</div>
</div>
<div class="container">
<span style="color:green;">
<?php echo $success; ?>
</span>
</div>
<div class="container m-t-30">
<form action="" method="post">
<div class="widget clearfix">
<div class="widget-body">
<form method="post" action="#">
<div class="row">
<div class="col-sm-12">
<div class="cart-totals margin-b-20">
<div class="cart-totals-title">
<h4>Cart Summary</h4> </div>
<div class="cart-totals-fields">
<table class="table">
<tbody>
32
<tr>
<td>Cart Subtotal</td>
<td> <?php echo "$".$item_total; ?
></td>
</tr>
<tr>
<td>Delivery Charges</td>
<td>Free</td>
</tr>
<tr>
<td class="text-
color"><strong>Total</strong></td>
<td class="text-color"><strong> <?
php echo "$".$item_total; ?></strong></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="payment-option">
<ul class=" list-unstyled">
<li>
<label class="custom-control custom-radio
m-b-20">
<input name="mod" id="radioStacked1"
checked value="COD" type="radio" class="custom-control-input"> <span class="custom-control-
indicator"></span> <span class="custom-control-description">Cash on Delivery</span>
</label>
</li>
<li>
<label class="custom-control custom-radio
m-b-10">
<input name="mod" type="radio"
value="paypal" disabled class="custom-control-input"> <span class="custom-control-
indicator"></span> <span class="custom-control-description">Paypal <img
src="images/paypal.jpg" alt="" width="90"></span> </label>
</li>
</ul>
<p class="text-xs-center"> <input type="submit"
onclick="return confirm('Do you want to confirm the order?');" name="submit" class="btn
btn-success btn-block" value="Order Now"> </p>
</div>
</form>
</div>
</div>
33
</div>
</div>
</form>
</div>
<footer class="footer">
<div class="row bottom-footer">
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-3 payment-options color-gray">
<h5>Payment Options</h5>
<ul>
<li>
<a href="#"> <img src="images/paypal.png"
alt="Paypal"> </a>
</li>
<li>
<a href="#"> <img src="images/mastercard.png"
alt="Mastercard"> </a>
</li>
<li>
<a href="#"> <img src="images/maestro.png"
alt="Maestro"> </a>
</li>
<li>
<a href="#"> <img src="images/stripe.png"
alt="Stripe"> </a>
</li>
<li>
<a href="#"> <img src="images/bitcoin.png"
alt="Bitcoin"> </a>
</li>
</ul>
</div>
<div class="col-xs-12 col-sm-4 address color-gray">
<h5>Address</h5>
<p>1086 Stockert Hollow Road, Seattle</p>
<h5>Phone: 75696969855</a></h5> </div>
<div class="col-xs-12 col-sm-5 additional-info color-gray">
<h5>Addition informations</h5>
<p>Join thousands of other restaurants who benefit from
having partnered with us.</p>
</div>
</div>
</div>
</div>
</div>
</footer>
</div>
</div>
<script src="js/jquery.min.js"></script>
34
<script src="js/tether.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/animsition.min.js"></script>
<script src="js/bootstrap-slider.min.js"></script>
<script src="js/jquery.isotope.min.js"></script>
<script src="js/headroom.js"></script>
<script src="js/foodpicky.min.js"></script>
</body>
</html>
<?php
}
?>
Testing:
Testing is vital for the success of any software. no system design is ever perfect. Testing is also carried in
two phases, first phase is during the software engineering that is during the module creation. second phase is
after the completion of software. this is system testing which verifies that the whole set of programs hanged
together.
Techniques and strategies along with test case design and test report:
White Box Testing: In this technique, the close examination of the logical parts through the software are
tested by cases that exercise species sets of conditions or loops, all logical parts of the software checked
once. errors that can be corrected using this technique are typographical errors, logical expressions which
should be executed once may be getting executed more than once and error resulting by using wrong
controls and loops. When the box testing tests all the independent part within a module a logical decisions
on their true and the false side are exercised, all loops and bounds within their operational bounds were
exercised and internal data structure to ensure their validity were exercised once.
Black Box Testing: This method enables the software engineer to device sets of input techniques that
fully exercise all functional requirements for a program, black box testing tests the input, the output and the
external data. it checks whether the input data is correct and whether we are getting the desired output.
Unit Testing: Each module is considered independently. it focuses on each unit of software as
implemented in the source code, it is white box testing.
Integration Testing: Integration testing aims at constructing the program structure while at the same
constructing tests to uncover errors associated with interfacing the modules. modules are integrated by using
the top down approach.
35
Validation Testing: Validation testing was performed to ensure that all the functional and
performance requirements are met.
System Testing: It is executing programs to check logical changes made in it with intention of finding
errors. A system is tested for online response, volume of transaction, recovery from failure etc. System
testing is done to ensure that the system satisfies all the user requirements.
aspect of software engineering because bugs can cause a software system to malfunction, and can lead to
poor performance or incorrect results. Debugging can be a time- consuming and complex task, but it is
Code Inspection: This involves manually reviewing the source code of a software system to identify
36
Debugging Tools: There are various tools available for debugging such as debuggers, trace tools, and
Unit Testing: This involves testing individual units or components of a software system to identify bugs or
errors.
Integration Testing: This involves testing the interactions between different components of a
System Testing: This involves testing the entire software system to identify bugs or errors.
Monitoring: This involves monitoring a software system for unusual behavior or performance issues that can
Logging: This involves recording events and messages related to the software system, which can be used to
firewalls, data encryption, passwords and biometrics. A firewall consists of software and hardware set up
between an internal computer network and the Internet to filter out unwanted intrusions.
Cost Estimation:
Software cost comprises a small percentage of overall computer-based system cost. There are a number of
factors, which are considered, that can affect the ultimate cost of the software such as - human, technical,
The main point that was considered during the cost estimation of project was its sizing. In spite of complete
software sizing, function point and approximate lines of code were also used to "size" each element of the
The cost estimation done by me for Project also depend upon the baseline metrics collected from past
37
projects and these were used in conjunction with estimation variables to develop cost and effort projections.
1. Effort Estimation - This refers to the total man-hours required for the development of the
project. It even includes the time required for doing documentation and user manual.
2. Hardware Required Estimation - This includes the cost of the PCs and the hardware cost
38
Screenshots /snapshots:
Fig:home screen
39
Fig: User Registration screen
40
Fig: cart screen
41
Fig: admin panel login
Future Scope:
In a nutshell, it can be summarized that the future scope of the project circles around maintaining
information regarding:
42
5. We can give more advance software for Grocery Management System including more
facilities
6. We will host the platform on online servers to make it accessible worldwide Integrate multiple load
7. Create the master and slave database structure to reduce the overload of the database queries.
8. Implement the backup mechanism for taking backup of codebase and database on regular basis on
different servers
The above mentioned points are the enhancements which can be done to increase the applicability
and usage of this project. Here we can maintain the records of Customer and Product. Also, as it can
be seen that now-a-days the players are versatile, i.e. so there is a scope for introducing a method to
maintain the Grocery Shop Management System. Enhancements can be done to maintain all the
We have left all the options open so that if there is any other future requirement in the system by the
user for the enhancement of the system then it is possible to implement them. In the last we would
like to thanks all the persons involved in the development of the system directly or indirectly. We
hope that the project will serve its purpose for which it is develop there by underlining success of
process.
43
References and Bibliography:
http://www.javaworld.com/javaworld/jw-01-1998/jw-01-Credentialreview.html
http://www.jdbc-tutorial.com/
https://www.tutorialspoint.com/java/
https://docs.oracle.com/javase/tutorial/
http://www.tutorialspoint.com/mysql/
https://www.freeprojectz.com/
httpd.apache.org/docs/2.0/misc/tutorials.html
44
45
46
47
48
49