Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 58

A

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

BACHELOR OF COMPUTER APPLICATION


B.N COLLEGE, DHUBRI (ASSAM)
TO WHOM IT MAY CONCERN

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: _________________.

(Dr. Sahjahan Ali)


Head of the Department,
Bachelor of Computer Application
B.N. College, Dhubri
CERTIFICATE

This is to certify that project work entitled “GROCERY MANAGEMENT SYSTEM” is


done by Mizanur Islam, bearing Roll No. UT-201-162-0018, Registration No: 20032903 of 2020-21
along with his project mate Rehena Khatun bearing his Roll No. UT-201-162-0022 and Registration
No. 20032907 of 2020-21 and Rahinur Khatun bearing his Roll No. UT-201-162-0021 and
Registration No. 20032906 for B.C.A program of B.N. College, Dhubri affiliated to Gauhati
University. He and his project mate have done their project under my supervision and guidance to the
base of my knowledge.

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 hereby declare that I Mizanur Islam bearing the Roll No.UT-201-162-0018,


Registration No.20032903 of 2020-21 that the project entitled “GROCERY MANAGEMENT
SYSTEM” has been carried out by me and along with my project mate Rehena Khatun and Rahinur
Khatun bearing his Roll No. UT-201-162-0022 and UT-201-162-0021 and Registration No.
20032907 of 2020-21 and 20032906, is submitted in the partial fulfillment for the award of the degree
of Bachelor of Computer Application (BCA), 5th semester in B.N. College under the Gauhati
University, Assam.

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

2. Purpose of the proposed system

3. System Analysis ( Modules )


 Project planning---------------------------------------------------------5
 Scheduling--------------------------------------------------------------- 5
 State diagram----------------------------------------------------------- 5

4. Software requirements specification-----------------------5-7

5. Software engineering paradigm applied


 Design Approach
 Flowchart----------------------------------------------------8
 State diagram----------------------------------------------9
 ER diagram------------------------------------------------10 - 11
 DFD----------------------------------------------------------12 - 16

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

9. System Security Measure---------------------------------37

10. Cost Estimation----------------------------------------------37-38

11. Screenshots /snapshots

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

he had purchased. This is not an enormous task.

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

which he can log in.

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.

Functionalities provided by Online Food Ordering System are as


follows:

 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.

Scope of the project Grocery Shop Management System:

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:

 It generates the report on Customer, Product, Stock


 Provide filter reports on Product Company, Product Type, Supplier
 You can easily export PDF for the Customer, Stock, Product Type
 Application also provides excel export for Product, Product Company, Supplier
 You can also export the report into csv format for Customer, Product, Supplier

Modules of Grocery Shop Management System:

 Customer Management Module: Used for managing the Customer details.


 Supplier Module: Used for managing the details of Supplier
 Stock Module: Used for managing the details of Stock • Product Management Module: Used for
managing the information and details of the Product.
 Product Company Module: Used for managing the Product Company details
 Product Type Module: Used for managing the Product Type information
 Login Module: Used for managing the login details

 Users Module: Used for managing the users of the 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.

Software requirements specification

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:

 System needs store information about new entry of Customer.


 System needs to help the internal staff to keep information of Product and find them as per various
queries.
 System need to maintain quantity record.
 System need to keep the record of Product Company.
 System need to update and delete the record.
 System also needs a search area.
 It also needs a security system to prevent data.

Software Requirements:

Name of the components Specifications


Operating system Windows 98 , 7 , 8 10, 11 Linux
Database Mysql Database
Server Apache Server
Browser Chrome , firefox, opera etc.

6
Hardware Requirements:

Name of the components Specifications


Processor Pentium III Quad core
RAM 4GB
Hard Disk 120GB
Monitor 14 inch

Software Engineering Paradigm Applied

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:

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

1. Design various blocks for overall system processes.

2. Design smaller, compact and workable modules in each block.

3. Design various database structures.

4. Specify details of programs to achieve desired functionality.

5. Design the form of inputs, and outputs of the system. 6. Perform documentation of the design.
7. System reviews.

Data integrity and constraints:

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

damage to the database by an authorized user.

Database design / procedural design / object oriented design:

Database design can be generally defined as a collection of tasks or processes that enhance the

designing, development, implementation, and maintenance of enterprise data management system.

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

Database Management System (DBMS)

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.

4. Use display attributes sparingly.

5. Default values for fields and answers to be entered by the user should be specified.

6. A user should not be allowed to proceed without correcting an error.

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">&#9776;</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">

  <link rel='stylesheet prefetch' href='https://fonts.googleapis.com/css?


family=Roboto:400,100,300,500,700,900|RobotoDraft:400,100,300,500,700,900'>
<link rel='stylesheet prefetch'
href='https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css'>

      <link rel="stylesheet" href="css/login.css">

    <style type="text/css">
    #buttn{
      color:#fff;
      background-color: #5c4ac7;
    }
    </style>

    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">


    <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>
<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">&#9776;</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="module form-module">


  <div class="toggle">
   
  </div>
  <div class="form">
    <h2>Login to your account</h2>
    <span style="color:red;"><?php echo $message; ?></span>
   <span style="color:green;"><?php echo $success; ?></span>
    <form action="" method="post">
      <input type="text" placeholder="Username"  name="username"/>
      <input type="password" placeholder="Password" name="password"/>
      <input type="submit" id="buttn" name="submit" value="Login" />
    </form>
  </div>
 
  <div class="cta">Not registered?<a href="registration.php" style="color:#5c4ac7;"> Create
an account</a></div>
</div>
  <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

   
  <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() {
     

    echo "<script>alert('Thank you. Your Order has been placed!');</script>";


    echo "<script>window.location.replace('your_orders.php');</script>";
}

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">&#9776;</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.

Debugging and Improvement :


Debugging is the process of identifying and resolving errors, or bugs, in a software system. It is an important

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

essential for ensuring that a software system is functioning correctly.

Code Inspection: This involves manually reviewing the source code of a software system to identify

potential bugs or errors.

36
Debugging Tools: There are various tools available for debugging such as debuggers, trace tools, and

profilers that can be used to identify and resolve bugs.

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

software system to identify bugs or errors.

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

indicate the presence of bugs or errors.

Logging: This involves recording events and messages related to the software system, which can be used to

identify bugs or errors.

System Security Measures:


System security includes the development and implementation of security countermeasures. These include

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,

Hardware and Software availability etc.

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

Software and their costing.

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.

We have basically estimated this project mainly on two bases –

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

required for development of this project.

Date Task Cost


10/09/2022 Hardware materials 30,000 /-
24/10/2022 Design 20,000 /-
03/12/2022 Frontend 40,000 /-
29/01/2023 Backend 60,000 /-

38
Screenshots /snapshots:

Fig:home screen

Fig: products screen

39
Fig: User Registration screen

Fig: user login screen

40
Fig: cart screen

Fig: checkout screen

Fig:My orders screen

41
Fig: admin panel login

Fig: admin dashboard

Future Scope:

In a nutshell, it can be summarized that the future scope of the project circles around maintaining

information regarding:

1. We can add online transaction.

2. We can add supplier.

3. We can add shopper.

4. We can add printer in future.

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

balancers to distribute the loads of the system.

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

Customer, Product, Product Company, Product Type, Supplier.

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:

 Google for problem solving

 http://www.javaworld.com/javaworld/jw-01-1998/jw-01-Credentialreview.html

 Database Programming with JDBC and Java by O'Reilly

 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

You might also like