Grocery Store
Grocery Store
Grocery Product
PTP PROJECT REPORT
Submitted by
VIKASH KUMAR
7CS48
Of
BACHELOR OF Technology
In
COMPUTER SCIENCE & ENGINEERING
Under the Supervision of
Miss.Isha Gupta
(Faculty of PTP Lab)
1
Acknowledgements
I would like to express my deep and sincere gratitude to my guide(s), Miss. Isha
Gupta (PTP Coordinator), of School of Engineering & Technology for his
unflagging support and continuous encouragement throughout the seminar work.
Without his guidance and persistent help this report would not have been possible.
I would also like to express our hearts felt appreciation to all of our friends whom
direct or indirect suggestions help us to develop this project and to entire team
members for their valuable suggestions.
2
Declaration
I declare that this written submission represents my ideas in my own words and
where others' ideas or words have been included, I have adequately cited and
referenced the original sources. I also declare that I have adhered to all principles
violation of the above will be cause for disciplinary action by the Institute and can
also evoke penal action from the sources which have thus not been properly cited
or from whom proper permission has not been taken when needed.
VIKASH KUMAR
7CS48
Date:
3
ABSTRACT
This project is a web based shopping system on Groceries product for an existing shop.
The project objective is to deliver the online shopping application into PHP platform.
If shops are providing an online portal where their customers can enjoy easy shopping
from anywhere, the shops won’t be losing any more customers to the trending online
shops such as flipcart or ebay. Since the application is available in the Smartphone it is
easily accessible and always available.
4
INDEX:
1.1 ADMIN MODULE 5
3.5 LOGIN 30
ii
iii
5
LIST OF TABLES
3.1 LOGIN TABLE 28
TABLE OF CONTENTS
i> ACKNOWLEDGEMENTS
ii> DECLARATION iii>ABSTRACT iv>INDEX V>LIST OF TABLES
1. INTRODUCTION PAGE
1.1 PROJECT OBJECTIVES 1 1.2 PROJECT
OVER VIEW 2 1.3 PROJECT SCOPE
2 1.4 STUDY OF SYSTEMS
3
1.4.1 MODULES 3
1.4.1.1 ADMIN 3
1.4.1.2 MODERATOR 11 1.4.1.3 USER
12
2. SYSTEM ANALYSIS 15
6
2.1 EXISTING SYSTEM 15 2.2 PROPOSED
SYSTEM 16 2.3 SYSTEM REQUIREMENT
SPECIFICATION 16
2.3.1 GENERAL DESCRIPTION 16
3. SYSTEM DESIGN 23
3.2 DATABASE 25
3.4 TABLES 28
4. CONCLUSION 67
7
REFERENCES 69
INTRODUCTION
This project is a web based shopping system for an existing shop. The project
objective is to deliver the online shopping application into internet platform.
Online shopping is the process whereby consumers directly buy goods or services from
a seller in real-time, without an intermediary service, over the Internet. It is a form of
electronic commerce. This project is an attempt to provide the advantages of online
shopping to customers of a real shop. It helps buying the products in the shop
anywhere through internet by using an internet device. Thus the customer will get the
service of online shopping and home delivery from his favorite shop
The central concept of the application is to allow the customer to shop virtually
using the Internet and allow customers to buy the items and articles of their desire from
the store. The information pertaining to the products are stores on an RDBMS at the
server side (store).
The Server process the customers and the items are shipped to the address submitted
by them. The application was designed into two modules first is for the customers who
wish to buy the articles. Second is for the storekeepers who maintains and updates the
information pertaining to the articles and those of the customers. The end user of this
product is a departmental store where the application is hosted on the web and the
8
administrator maintains the database. The application which is deployed at the
customer database, the details of the items are brought forward from the database for
the customer view based on the selection through the menu and the database of all the
products are updated at the end of each transaction. Data entry into the application can
be done through various screens designed for various levels of users. Once the
authorized personnel feed the relevant data into the system, several reports could be
generated as per the security.
1.4.1 MODULES:
The system after careful analysis has been identified to be presented with the following
modules and roles.
The modules involved are:
• Administrator
• Moderators
• Users
9
1.4.1.1 ADMINISTRATOR:
The administrator is the super user of this application. Only admin have access
into this admin page. Admin may be the owner of the shop. The administrator has all
the information about all the users and about all products.
• Manage Moderators
• Manage Products
• Manage Users
• Manage Orders
MANAGE MODERATOR
10
Fig 1.2: Manage Moderator
Add Moderator
Block moderator
Admin can restrict a moderator from managing the orders by blocking them. Admin can
unblock a blocked user if needed.
Remove Moderator
Search moderator:
All existing moderators can be viewed by the administrator as a list. If there is number
of moderators and admin need to find one of them, the admin can search for a
moderator by name.
11
MANAGE PRODUCTS
Add Products
The shopping cart project contains different kind of products. The products can be
classified into different categories by name. Admin can add new products into the
existing system with all its details including an image.
Delete Products
Administrator can delete the products based on the stock of that particular product.
Search products
Admin will have a list view of all the existing products. He can also search for a
particular product by name.
MANAGE USER
12
Fig 1.4: Manage User
View Users
The admin will have a list view of all the users registered in the system.
Admin can view all the details of each user in the list except password.
Add Users
MANAGE ORDERS
13
Fig 1.5: Manage Orders
View Order
Administrator can view the Orders which is generated by the users. He can verify the
details of the purchase.
Delete order
Admin can delete order from the orders list when the product is taken for delivery.
1.4.1.2 MODERATORS
A moderator is considered as a staff who can manage orders for the time being. As a
future update moderator may give facility to add and manage his own products .
Moderators can reduce the work load of admin. Now moderator has all the privilege an
14
admin having except managing other moderators. He can add products and users. He
can also check the orders and edit his profile.
• Manage products
• Manage users
• Manage orders
1.4.1.3 USERS
Registration
A new user will have to register in the system by providing essential details in order to
view the products in the system. The admin must accept a new user by unblocking him.
Login
A user must login with his user name and password to the system after registration.
15
View Products
User can view the list of products based on their names after successful login. A
detailed description of a particular product with product name, products details, product
image, price can be viewed by users.
Search Product
• Add to cart:
The user can add the desired product into his cart by clicking add to cart option on the
product.
He can view his cart by clicking on the cart button. All products added by cart can be
viewed in the cart. User can remove an item from the cart by clicking remove.
• Submit Cart:
After confirming the items in the cart the user can submit the cart by providing a
delivery address.On successful submitting the cart will become empty.
• History
In the history the user will have a view of pending orders.
Edit Profile
SYSTEM ANALYSIS
System analysis is the process of gathering and interpreting facts, diagnosing
problems and using the information to recommend improvements on the system.
16
System analysis is a problem solving activity that requires intensive communication
between the system users and system developers.
The current system for shopping is to visit the shop manually and from the available
product choose the item customer want and buying the item by payment of the price of
the item .
• It is less user-friendly.
In the proposed system customer need not go to the shop for buying the
products. He can order the product he wish to buy through the application in his
Smartphone. The shop owner will be admin of the system. Shop owner can appoint
moderators who will help owner in managing the customers and product orders. The
system also recommends a home delivery system for the purchased products.
17
2.3 SYSTEM REQUIREMENT SPECIFICATION
Product Description:
The system consists of two parts .A web application which can provide the online
shopping service and an android application for the customer to access the web service
from his Smartphone. Web application should be able to help the customer for selecting
his item and to help the owner in managing the orders from the customers.
Problem Statement:
As online shopping became a trend nowadays the regular shops are losing their
customers to online brands. Customers have effortless shopping experience and
saving time through shopping online. For competing with those online brands , If shops
are providing an online portal where their customers can shop through internet and get
the products at their doors it will increase the number of customers.
• EFFICIENCY REQUIREMENT
18
When an online shopping cart android application implemented customer can purchase
product in an efficient manner.
• RELIABILITY REQUIREMENT
The system should provide a reliable environment to both customers and owner. All
orders should be reaching at the admin without any errors.
• USABILITY REQUIREMENT
The android application is designed for user friendly environment and ease of use.
• IMPLEMENTATION REQUIREMENT
Implementation of the system using css and html in front end with jsp as back end and
it will be used for database connectivity. And the database part is developed by mysql.
Responsive web designing is used for making the website compatible for any type of
screen.
• DELIVERY REQUIREMENT
The whole system is expected to be delivered in four months of time with a weekly
evaluation by the project guide.
USER
USER LOGIN
Description of feature
This feature used by the user to login into system. A user must login with his user
name and password to the system after registration. If they are invalid, the user not
allowed to enter the system.
19
Functional requirement
Description of feature
A new user will have to register in the system by providing essential details in order to
view the products in the system. The admin must accept a new user by unblocking him.
Functional requirement
Description of feature
The user can add the desired product into his cart by clicking add to cart option on the
product. He can view his cart by clicking on the cart button. All products added by cart
can be viewed in the cart. User can remove an item from the cart by clicking remove.
After confirming the items in the cart the user can submit the cart by providing a
delivery address. On successful submitting the cart will become empty.
Functional requirement
- System must ensure that, only a registered customer can purchase items.
ADMIN
MANAGE USER
20
Description of feature
The administrator can add user, delete user, view user and block user.
MANAGE MODERATOR
Description of feature
The administrator can add moderator, delete moderator, block moderator and search
for a moderator.
MANAGE PRODUCTS
Description of feature
The administrator can add product, delete product and view product.
MANAGE ORDERS
Description of feature
Functional requirements
-Admin account should be secured so that only owner of the shop can access that
account
MODERATOR
Description of features
A moderator is considered as a staff who can manage orders for the time being. As a
future update moderator may give facility to add and manage his own products.
Moderators can reduce the work load of admin. Now moderator has all the privilege of
21
an admin having except managing other moderators. He can manage users and
manage products. He can also check the orders and edit his profile.
Functional requirement
SYSTEM DESIGN
System design is the solution for the creation of a new system.
This phase focuses on the detailed implementation of the feasible system. It emphasis
on translating design. Specifications to performance specification. System design has
two phases of development
• Logical design
• Physical design
During logical design phase the analyst describes inputs (sources), output
s(destinations), databases (data sores) and procedures (data flows) all in a format
that meets the user requirements. The analyst also specifies the needs of the user at
a level that virtually determines the information flow in and out of the system and the
data resources. Here the logical design is done through data flow diagrams and
database design. The physical design is followed by physical design or coding.
Physical design produces the working system by defining the design
specifications, which specify
exactly what the candidate system must do. The programmers write the
necessary programs that accept input from the user, perform necessary processing on
22
accepted data and produce the required report on a hard copy or display it on the
screen.
Input design is the link that ties the information system into the world of its
users. The input design involves determining the inputs, validating the data,
minimizing the data entry and provides a multi-user facility. Inaccurate inputs are the
most common cause of errors in data processing. Errors entered by the data
entry operators can be controlled by input design. The user-originated inputs are
converted to a computer based format in the input design. Input data are collected and
organized into groups of similar data. Once identified, the appropriate input media are
selected for processing. All the input data are validated and if any data violates any
conditions, the user is warned by a message. If the data satisfies all the
conditions, it is transferred to the appropriate tables in the database. In this project
the student details are to be entered at the time of registration. A page is designed for
this purpose which is user friendly and easy to use. The design is done such that
users get appropriate messages when exceptions occur.
Computer output is the most important and direct source of information to the user.
Output design is a very important phase since the output needs to be in an efficient
manner. Efficient and intelligible output design improves the system relationship with
the user and helps in decision making. Allowing the user to view the sample screen is
important because the user is the ultimate judge of the quality of output. The output
module of this system is the selected notifications.
3.2 DATABASE
DATABASE DESIGN:
23
Databases are the storehouses of data used in the software systems. The data is
stored in tables inside the database. Several tables are created for the
manipulation of the data for the system. Two essential settings for a database are
The various system tools that have been used in developing both the front end and the
back end of the project are being discussed in this chapter.
3.3.1.FRONT END:
JSP, HTML, CSS, JAVA SCRIPT,ANDROID are utilized to implement the frontend.
Different pages in the applications are designed using jsp. A Java Server Pages
component is a type of Java servlet that is designed to fulfil the role of a user interface
for a Java web application. Web developers write JSPs as text files that combine
HTML or XHTML code, XML elements, and embedded JSP actions and commands.
Using JSP, one can collect input from users through web page.
CSS is a style sheet language used for describing the look and formatting of a
document written in a markup language.
24
Java Script
Java Script is used to create pop up windows displaying different alerts in the system
like “User registered successfully”, ”Product added to cart” etc.
Android
The back end is implemented using MySQL which is used to design the databases.
MySQL
MySQL is the world's second most widely used open-source relational database
management system (RDBMS). The SQL phrase stands for Structured Query
Language.
An application software called Navicat was used to design the tables in MySQL.
3.4 TABLES
• LOGIN
25
Fig 3.1: Login Table
• USER DETAILS
• PRODUCT DETAILS
26
Fig 3.3:
Product Details Table
• PRODUCT ORDERS
• LOGIN
27
Fig 3.5: Login
• USER DETAILS
• PRODUCT DETAILS
28
• PRODUCT ORDERS
• COMPLETE DIAGRAM
A Data Flow Diagram (DFD) is a structured analysis and design tool that can
be used for flowcharting. A DFD is a network that describes the flow of data
and the processes that change or transform the data throughout a system.
29
This network is constructed by using a set of symbols that do not imply
any physical implementation. It has the purpose of clarifying system
requirements and identifying major transformations. So it is the starting point of the
design phase that functionally decomposes the requirements specifications down to
the lowest level of detail. DFD can be considered to an abstraction of the logic
of an information-oriented or a process-oriented system flow-chart. For these
reasons DFD’s are often referred to as logical data flow diagrams.
EXTERNAL ENTITY
An external entity is a source or destination of a data flow. Only those entities which
originate or receive data are represented on a data flow diagram. The symbol used is
a rectangular box.
PROCESS
A process shows a transformation or manipulation of data flow within the system. The
symbol used is an oval shape.
DATAFLOW
The data flow shows the flow of information from a source to its destination. Data
flow is represented by a line, with arrowheads showing the direction of flow.
Information always flows to or from a process and may be written, verbal or
electronic. Each data flow may be referenced by the processes or data stores
at its head and tail, or by a description of its contents.
DATA STORE
30
A data store is a holding place for information within the system: It is represented by an
open ended narrow rectangle. Data stores may be long-term files such as sales
ledgers, or may be short-term accumulations: for example batches of documents that
are waiting to be processed. Each data store should be given a reference followed by
an arbitrary number.
• LOGIN DFD
Fig
3.10: Login DFD
• REGISTRATION DFD
31
Fig 3.11: Registration DFD
• ADMIN DFD
32
Fig 3.12:
Admin DFD MODERATOR DFD
33
Fig 3.13: Moderator DFD
34
3.7 SCREEN SHOTS
• L
OGIN
• REGISTRATION
35
• HOME
• ADMIN HOME
• ADMIN PRODUCT
36
• A
DMIN ORDER
• MODERATOR HOME
37
• U
SER HOME
• USER CART
LOGIN PAGE
38
<
%@include file="template/top.jsp" %>
<tr>
</tr>
<tr>
</tr>
<tr>
<td><div id="result"></div></td>
39
</tr>
</table>
</form>
<script type="text/javascript">
<%
%>
<% }
%> <%
%>
<% }
%> <%
<% }
%>
</script>
%@include file="template/body_end.jsp" %
40
REGISTRATION
<%@page import="DataBase.DB"%>
<%@page import="java.sql.ResultSet"%>
<div class="entry">
<table>
<tr>
<td>User Name
</td>
</td>
</tr>
<tr>
<td>Password
</td>
</td>
</tr>
41
<tr>
<td>Login Name
</td>
</td>
</tr>
<tr>
<td>Email
</td>
</td>
</tr>
<tr>
<td>Mobile No.
</td>
</td>
</tr>
<tr>
<td>
</td>
42
<td><button class="button" type="submit">Register</button>
</td>
</tr>
</table>
</form>
</div>
<script type="text/javascript">
<%
<% }
%> <%
if
(request.getParameter("re
request.getParameter("re
g").contentEquals("succes
s")) {
%>
alert("Registration Completed")
<% }
43
%>
</script>
%@include file="template/body_end.jsp" %
DB REGISTRATION
<%@page import="config.Config"%>
<%@page import="java.io.File"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="DataBase.DB"%>
<%
+ "null" + ",'"
+ request.getParameter("uname") + "',SHA1('"
+ request.getParameter("upass") + "'),'"
+ "user" + "','"
+ "false" + "')")) {
r.next();
+ uid + ",'"
+ request.getParameter("lname") + "','"
+ request.getParameter("emailid") + "','"
44
+ request.getParameter("mobno") + "')")) {
// this code generates the qr code inside the QR_Code folder in the c drive
response.sendRedirect("index.jsp?reg=success");
} else {
response.sendRedirect("register.jsp?reg=failed");
%>
<%@page import="DataBase.DB"%>
<%@page import="java.sql.ResultSet"%>
<%
session.setAttribute("uname", uname);
session.setAttribute("uid", r.getString("uid"));
session.setAttribute("utype",r.getString("utype")); if
45
(r.getString("utype").contentEquals("admin"))
{ response.sendRedirect("adminindex.jsp"); } else if
(r.getString("utype").contentEquals("mod"))
{ response.sendRedirect("modindex.jsp");
} else if (r.getString("utype").contentEquals("user"))
{ response.sendRedirect("userindex.jsp");
} else {
session.setAttribute("uname", null);
response.sendRedirect("login.jsp?login=unknown");
} else {
response.sendRedirect("login.jsp?login=dissabled");
} else {
response.sendRedirect("login.jsp?login=failed");
%>
DATABASE CONNECTION
package DataBase;
46
static Connection con = null; static Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/online_shoppi ng", "root",
"root");
} catch (Exception e) {
System.out.println("Exception" + e);
return con;
try {
con.createStatement(); int b =
stmt.executeUpdate(query);
if (b > 0) { f=
true; } else {
f = false;
47
} catch (Exception e) {
System.out.println("Exception" + e);
return f;
try {
} catch (Exception e) {
System.out.println("Exception" + e);
return null;
try {
} catch (Exception e) {
System.out.println("Exception" + e);
48
}
com.onlineshopping.activity.custom.CustomWebChromeClient; import
com.onlineshopping.activity.custom.CustomWebViewClient;
android.app.Activity; import
android.content.res.Configuration; import
android.webkit.WebView;
@Override
49
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
// set the web view chrome client and set for showing a progress bar
this.webView.setWebChromeClient(new
CustomWebChromeClient(this));
this.webView.setWebViewClient(new
CustomWebViewClient(
getApplicationContext()));
runOnUiThread(new Runnable() {
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginState(PluginState.ON);
webView.loadUrl(SITE_URL_START +
SITE_URL + SITE_URL_END);
50
});
// screen. @Override
webView.goBack();
return true;
@Override
super.onConfigurationChanged(newConfig);
CONCLUSION
51
The project entitled Online shopping system was completed successfully.
The system has been developed with much care and free of errors and at the same
time it is efficient and less time consuming. The purpose of this project was to develop
a web application and an android application for purchasing items from a shop.
There is a scope for further development in our project to a great extend. A number of
features can be added to this system in future like providing moderator more control
over products so that each moderator can maintain their own products. Another feature
we wished to implement was providing classes for customers so that different offers
can be given to each class. System may keep track of history of purchases of each
customer and provide suggestions based on their history. These features could have
implemented unless the time did not limited us.
REFERENCES
52
• Mc GrawHill’s , Java : The complete reference 7thEdition, Herbert
Schildit
• Complete CSS Guide ,Maxine Sherrin and John Allsopp-O'Reilly Media; September
2012
• http://www.w3schools.com/html/defualt.asp,
http://www.w3schools.com/css/default.asp, http://www.w3schools.com/js/default.asp
53