You are on page 1of 42

HIMALAYA DARSHAN COLLEGE

Tribhuvan University
Institute of Science and Technology

ITEM BASED RECOMMENDATION SYSTEM FOR FOOD


PRODUCT SALES

PROJECT REPORT

Submitted To
Department of Computer Science and Information Technology
Himalaya Darshan College

In partial fulfillment of the requirement for the Bachelor Degree in


Computer Science and Information Technology

Submitted By
Anu Wasti (11532/073)
Niroj Chaudhary (11539/073)
Nisha Yadav (11540/073)
Sweta Chaudhary (11549/073)
April, 2021

i
Date:
……………….

SUPERVISOR'S RECOMMENDATION
I hereby recommend that the report prepared under supervision of Mr. Nabin Ghimire
by Anu Wasti(11532/073), Niroj Chaudhary(11539/073), Nisha Yadav(11540/073),
Sweta Chaudhary (11549/073) entitled "Item Based Recommendation System for
Food Product Sales" in partial fulfillment of the Requirement for the degree of B.Sc.
in computer science and information technology be processed for evaluation.

………………….
Er. Nabin Ghimire
Project Supervisor

ii
Date:………………….
CERTIFICATE OF APPROVAL
This is to certify that this project prepared by Anu Wasti(11532/073),Niroj
Chaudhary(11539/073), Nisha Yadav(11540/073) and Sweta Chaudhary (11549/073)
entitled "Item Based Recommendation System for Food Product Sales" in partial
fulfillment of the Requirement for the degree of B.Sc. in Computer Science and
Information Technology has been well studied. It is satisfactory in the scope and
quality as a project for the required degree.

--------------------
Er. Sumit Kr. Shah
Head of Department
-------------------- Department of Computer Science
Er. Nabin Ghimire and IT
Project Supervisor Himalaya Darshan college,
Biratnagar, Nepal

------------------
External Examiner ---------------------
Bharat Sapkota
Campus chief,
Himalaya Darshan College,
Biratnagar, Nepal

iii
DECLARATION
We declare that our project entitled “Item Based Recommendation System for
Food Product Sales” under the supervision of Mr. Nabin Ghimire has been
submitted to Tribhuvan University, Institute of science and Technology, Kirtipur,
Nepal .This project is original and has not been submitted earlier in part or full in this
or any other form to any university or institute .
Anu Wasti (11532/073)
Niroj Chaudhary (11539/073)
Nisha Yadav (11540/073)
Sweta Chaudhary (11545/073)

v
ACKNOWLEDGEMENTS

We would like to acknowledge with much appreciation the crucial role of Head of
Department of BSCCSIT Er. Sumit Babu Shah and Himalaya Darshan College
family, who gave the permission to use all required equipment and the necessary
materials to complete this project.
We would like to express our deepest appreciation to all those who provided us the
possibility to make the project. A special gratitude to our project supervisor, Mr.
Nabin Ghimire, whose contribution in stimulating suggestions and encouragement,
helped us to coordinate our project especially in writing this report.

Furthermore, we would like to appreciate the guidance given by Er. Dhiraj Kumar
Jha as well as the panel of teachers especially in our project presentations that has
improved our presentation skills, thanks to their comment and advices.

Anu Wasti (11532/073)


Niroj Chaudhary (11539/073)
Nisha Yadav (11540/073)
Sweta Chaudhary (11545/073)

vi
ABSTRACT

The world has become very narrow in this technological era. Most of the things are
dependent on Internet these days. There are online portals for almost every things to
relate at, as well as e-commerce is rapidly growing. People search everything on the
Internet from household to business materials. Thus, for making users more
convenient with e-commerce, this system has been developed to cope up with the
time and demand, that is, to provide an easy access for users to buy food products
online.

“Item Based Recommendation System for Food Product Sales” is a responsive


application .The main purpose of the system is to provide an interface for users to buy
the foods based on the cultural and traditional aspects .The busy people around the
city who are in range of technology and internet but not able to prepare the item can
get help from this system. Also, the system recommends customers the other stuffs
according to their previous choices, the ongoing festive seasons and the most sold
products in system.

Also the system has reliability, faster service, recommendation service, and features
for preserving cultural aspects with quality food.

[Keywords: e-commerce, food sales, recommendation system]

vii
TABLE OF CONTENTS

SUPERVISOR'S RECOMMENDATION ii
CERTIFICATE OF APPROVAL iii
DECLARATION v
ACKNOWLEDGEMENT vi
ABSTRACT
LIST OF TABLES vii
CHAPTER 1 INTRODUCTION 7
1.1 Background 7
1.2 Problem Statement 8
1.3 Objectives 8
1.4 Scope 9
CHAPTER 2 LITERATURE REVIEW AND METHODOLOGY 10
2.1 Literature Review 10
2.2 Requirements analysis 10
2.2.1 Hardware Requirement 11
2.2.2 Software Requirements 11
2.3 System Requirements 12
2.3.1 Functional Requirements 12
2.3.2 Non-Functional Requirements 13
2.4 Use Case Diagram 14
2.5 Feasibility Study 16
2.5.1 Operational Feasibility 16
2.5.2 Technical Feasibility 17
2.6 System Flowchart 18
CHAPTER 3 SYSTEM DEVELOPMENT
19
3.1 System Design
19
3.2 Module
19
3.2.1 Module 1 19
3.2.2 Module 2 19
3.2.3 Module 3 20
3.3 ER-Diagram
20
3.4 Data Flow diagram
21
3.4.1 Zero Level Data Flow Diagram: 21

1
3.4.2 First Level Data Flow Diagram: 22
3.4.3 Second Level Data Flow Diagram: 23
CHAPTER 4
24
IMPLEMENTATION AND TESTING

24
4.1 Testing
24
4.1.1 Unit Testing 24
4.1.2 Integration Testing
28
4.1.3 Application Testing
29

CHAPTER 5 31
RESULT AND DISCUSSION 31

5.1 Result Analysis


31
5.2 Conclusion and Future Enhancement
31
5.2.1 Future Enhancement
31
REFERENCES/CITATION
32
APPENDIX I
33
APPENDIX II
37

2
LIST OF TABLES

Table 1: Register process 25

Table 2: Login process 25

Table 3: Correction for Login process


26

Table 4: Product and category Addition process


26

Table 5: Add to cart process


26

Table 6: Payment process


27

Table 7: Correction for payment process


27

Table 8: Integration and testing of system


28

Table 9: Application Testing


30

3
LIST OF FIGURES

Figure 1: Use Case Diagram 14


Figure 2: System Flowchart
18
Figure 3: Entity Relationship Diagram
20
Figure 4: Zero Level Data Flow Diagram
21
Figure 5: First Level Data Flow Diagram
22
Figure 6: Second Level Data Flow Diagram 23

4
LIST OF ABBREVIATIONS

RAM Random Access Memory

GB Giga Byte

HTML Hyper Text Markup Language

CSS Cascading Style Sheet

SQL Structured Query Language

UI User Interface

DFD Data Flow Diagram

Mac OS Mac Operating System

SRS System Required Specification

PL Programming Language

5
CHAPTER 1 INTRODUCTION
1.1 Background
All are familiar about the growing demand and use of online systems in almost every
field in this technological era. The rate of demand and dependency on online food is
equally high. However organic and quality food is what everyone seeks for. This project
attempts to build an online store for food products sale as per the current demand of users
and use of technology.
People need food no matter what and no matter where. In this fast and furious world,
people search for short and easy procedures either it is for work or for food. Cooking and
eating procedures are time consuming and tedious. Especially for working people and
people living away from home. They feel blessed to get cooked and prepared food of
their choice at a short time at their place. Also, visiting markets and buying products is
tiresome and tedious too. People would love if they get required products at their place in
a short time, with better quality.
The focus of this project is to go in trend with technological enhancement and serve
people with the best services. Everyone has gadgets and PCs in their hands and houses on
which they have to just go through and click on their desired interests. The software will
be responsive.
Through this software, users can visit the page, choose the product of their choices and
place orders. They also get recommendations for better, similar and trending products on
their visit to the site .They will be provided with the services of the cooked and uncooked
materials including cultural trending. Also, cultural varieties’ of cuisines will be the
unique feature. The system will allow users to login and register from wherever they are
with username and password, email, and contact number. The system will be secured too.
They will be delivered the ordered items within certain time duration after the order.

1.2Problem statement
There are many E-commerce sites for food products till the date .Yet every of them are
not trustable and are time consuming to co-operate with. Also, there is barely any site
providing cultural food items.

6
Thus, this software aims to meet all those insufficiency. The problem here is to develop
responsive software compatible for any device (PC or mobile phone) as well as
implement recommendation system. It is quite tough as the market is quite competitive.
Though, with the best features used on the software this can meet users’ requirement on a
satisfying manner.
Limitations of the similar project in the past:
 User unfriendly
 Non-trustable on quality
 Non-culture based
 Time and cost-ineffective
 Unavailability of different items in a single site.

1.3 Objectives
The software will be beneficial for customers who want to buy varieties of food items at a
single spot on easy and user friendly platform.
Major objectives include following:
 To create an interface for users through which they can order organic foods.
 To build a web application that can help find cultural foods.
 To recommend users with high rated foods or foods closer to their choices and
new products in the system using item based recommendation.
1.4 Scope
The system is fully online and technology based. Everything is now going into IoT,
which makes technological developments in the market. The UI is friendly and
registration takes no load. The system is being developed on Django Framework on
python PL platform which is the best choice for any of E-commercial sites. The look is
simple and symbolizing is easy too.

7
CHAPTER 2 LITERATURE REVIEW AND
METHODOLOGY

2.1 Literature Review


In November 5, 1999, worldwide waiter (now known as Waiter.com) was launched as the
first online food ordering service [1]. The era from 1996 to 2001 was a starter. The era
from 2001 – 2017 achieved gradual development in online food delivery and its impact
on global economy took some place. In the year 2018 the online food delivery market
reached US$ 35 billion globally. Home food delivery experiences rapidly grew in china
and was expected to lead the world in 2019. Followed by United States, India, The
United Kingdom, and Germany, which has in fact grown rapidly in the current scenario.

In the context of Nepal ‘Foodmandu’ is the first company to deliver food from hundreds
of popular restaurants in Nepal, which is in operation since 2010 [2].

As Nepal is a multi-cuisine country, food and food delivery apps in Nepal are Integral
aspects for us. Our taste buds have high demands being the residents of a multi-cuisine
country. We crave so many things in so many different hours because of these high taste
–bud demands. And due to the reason, online delivery sites and applications have been
highly demanded and can jackpot easily after they are published in the market. We see
them being popular in very short span of time among the people.
2.2 Requirement Analysis:
The requirements for a system are the description of the services provided by the system
and its operational constraints. These requirements reflect the needs of the users for the
system that helps to solve some problems. The process of finding out, analyzing and
documenting and checking these services and constraints is called requirement analysis.
Preliminary investigation plays an important role in developing satisfactory requirement.
It’s a result of thorough investigation of how current or existing system works using the
facts gathered that leads to focusing on the possibility of replacing the existing system or
improving upon the existing system. This task involves information gathering, therefore

8
the methods used in design and collection of information from various sources are as
follows:
● Collecting and analyzing existing materials on the project topic, written by
different experts.
● Studying the present system in detail and organizational style.
● Knowing and understanding the input and output process of the existing
system.
● Interviews: An online form of interview was conducted to know the
requirements and mode of operation of the old system.
● Surveys: Online survey using Google Forms in social media like Facebook
was conducted for the mass.
● Self-study was also done by the team in order to find more about the proper
requirements about the system.
2.2.1 Hardware Requirements:
 PC with minimum Pentium IV processor or latest.
 4 GB RAM or above
 64 GB Hard Disk or above

2.2.2 Software Requirements:


 Operating System: Windows , Mac OS , Linux (or any)
 Browser : Chrome, Firefox, MS-Edge , Safari(or any latest browser)

2.3 System Requirements:


Front-End:
 Python PL
 Django Framework
 HTML
 CSS
 Bootstrap
Back-End:

9
 MySQL

 SQL connector

2.3.1 Functional Requirements:


1. User Registration
2. User Login
3. View Page Resources
4. Recommend Items
5. Update User Choice
6. Calculate Result
7. Log out

2.3.2 Non-Functional Requirements:


1. Accessibility:
The system is easily accessible from anywhere with the use of internet. Anyone
with the login credential can access their medical records from anywhere through
internet. Data is available 24 x 7 if connected with internet.

2. Maintainability:
The application is easy to maintain. It supports further extension of other
functionalities as needed. System has easy code base that helps to troubleshoot problems
easily if occurred in future.

3. Look and Feel:

10
System has different user interface for different users according to their access
privileges. Different UI simplifies the user role. Users will have their own well-designed
dashboard. UI is simple and easy to use.

4. Security:
There is security of the communication between user and system. Only
authenticated users are allowed to access the user dashboard and their records. No two
users with same email can register on the site.

2.4 Use Case Diagram:


A use case diagram is the simplest representation showing user’s interaction with
the system. Also it includes the view of relationship between the user and different use
cases wherever the user has been involved.

11
Figure 1: Use Case Diagram
The explanation for Use Case diagram is presented below:

Registration
If the customer is new use, he can request to the register page. A register page
open and asks total information about customer and also ask to customer to choose login
(email address) and password.
Login
The customer can login by name and password. The system verifies the name and
password matches. If not matches, error message shows to the customer.
Retrieve Item

12
The customer request to view the shopping cart. The system returns the shopping
cart to customer, the price and total price to customer.
Recommend
The admin recommends the user with the products based on users history if the
customer is registered else the most sold product of the system.
Search product
The customer enter the search product parameter and request a search product.
The system search through product category in database and give information. If not
matches, gives fail message.
Recommend
The admin recommends the user with the products based on users history if the
customer is registered else the most sold product of the system.

Checkout
The customer completes the shopping he request to checkout, after that user pay
for the product and check out.
2.5 Feasibility Study
After information gathering phase, we now have sufficient information about the
system as well as we are aware of the deficiencies of the current system or the process.
Using the available information, a system analyst has to define the board goals for the
project and detailed sub-goals. These goals are quantified and then determined whether
they can be met, and if yes, how they will be met and at what cost. This is known as
feasibility analysis. A feasibility study aims to objectively and rationally uncover the
strengths and weaknesses of an existing business or proposed 9 venture, opportunities
and threats present in the environment, , the resources required to carry through, and
ultimately the process for success.
Also, feasibility study is an analysis and evaluation of a proposed project to
determine if it
1. Is technically feasible
2. Is feasible within the estimated cost and

13
3. Will be useful

2.5.1 Operational Feasibility

People are inherently resistant to change and computers have been known to
facilitate change. An estimate should make of how strong a reaction the user staff is
likely to have toward the development of a computerized system. It is common
knowledge that computer installations have something to do with turnover, transfer,
retraining and changes in employee job status. Therefore, it is understood that the
production of a candidate system requires special effort to educate, sell and train the staff
on new ways of conducting business.

2.5.2 Technical Feasibility


This includes the study of function, performance and constraints that may affect
the ability to achieve an acceptable system. For this feasibility study, we studied the
complete functionality to be provided in the system, as described in the system
requirements specification (SRS) and checked if everything was possible using different
type of frontend and backend platforms.

14
2.6 System Flowchart:

Figure 2: System Architecture


The figure above shows the pictorial representation to express how our system
flows .It graphically represents major processes , inputs and outputs .This is the pictorial
view for a user or a visitor.

15
CHAPTER 3
SYSTEM DEVELOPMENT
3.1 System Design
System design is the most creative and challenging phase in the system life cycle.
Design is the first step in the development phase for any engineering product or system.
Design is a creative process. A good design is the key to effective system. System
design is a solution how to approach the creation of a new system. System design
transforms a logic representation of what is required to do into the physical
specification. The specification is converted into physical reality during development.
3.2 Module
A module is a software component or a part of a program that contains one or
more routines. One or more independently developed modules make up a program. The
application is divided into three modules.
3.2.1 Module 1
The first module in the application is login. In the login process, the user can
input his or her email and password if a user already has an account, else the user
should register first providing some details like name, address, email ID and password.
Thus, the user can have access to the purchase products and add to cart .
3.2.2 Module 2
The second module in the application is the accessibility of the main features of
the application after login. The features in this module include leaving a feedback
,sharing the application through social medias and publicizing.

3.2.3 Module 3
The third module in the application is viewing and updating the user details and
maintaining their account after login. In addition, the user can change his account’s
password.

3.3 ER-Diagram

16
Figure 3: Entity Relationship Diagram
ER Diagram can express the overall logical structure of a database graphically.
Graphical representation of the system will be more easy to understand. So such
graphical representation plays a vital role to represent a database.
We have designed tables in our Application’s database by collecting the entities
associated by the appropriate relationships including all the possible attributes in Item
Based Recommendation for Food Product Sales.
3.4 Data Flow Diagram:
3.4.1 Zero Level Data Flow Diagram:

17
Figure 4: Zero Level Data Flow Diagram

It is a basic overview of the whole system ,also called as Context Diagram .It provides a
quick glance view that shows the item based system as a single high level process and
views its relationship with external entities.

3.4.2 First Level Data Flow Diagram

18
Figure 5: First level Data Flow Diagram

First Level DFD is a detailed process than Zero Level DFD. Each process and sub-
process are noted here that are required to form a complete process.

19
3.4.3 Second Level Data Flow Diagram

Figure 6: Second Level Data Flow Diagram

20
Second Level Data Flow Diagram is the deeper view of Zero and First Level DFD
. Plan or record of the necessary detail about system and its functioning are provided by
this level.

21
CHAPTER 4
IMPLEMENTATION AND TESTING
4.1 Testing
Test is to check, verify and evaluate the product that comes up after going through the
demanding process. System testing involves testing the system to validate that it meets
user's specifications and objectives. The multiple modules were integrated into a single
component and they were tested. This involved testing the system in order to correct
errors or remove the defects. This stage involved testing source code to make sure that it
produced the expected and desired results when subjected to a set of predefined
conditions.
In our system the tests reports helps us in validation process and whether the
system we have developed is bug free and whether the system is responded by giving
various inputs properly or not while testing. In this system focused the two basic types
of testing in our system:
 White box testing in order to check the different modules of the software and
 Black box testing by giving input and whether system responded to expected output
or not as whole.
4.1.1 Unit Testing
Unit testing is the process of testing and individual unit or group of related units. It falls
under the class of white box testing. It is often done by the tester to test that the unit they
have implemented is producing expected output against the given input. Each of the
function modules were thoroughly checked and validated. The purpose of unit testing
was to ensure the working of each module properly without any errors.
In our project we have done unit testing to verify whether the different transaction
modules are responding properly under execution of the system and while testing we
have successfully obtained the following outputs:
Test 1:
The objective of test 1 was to check whether a new user who wants to register into
the system can be registered
Objective Check Register Process
Input Username, Email, Phone no.
Expected output Register if the details meet the
criteria

22
Original Output User registered successfully
Error Info -
Table 1: Register Process
Test 2:
The objective of test 2 was to check if an user can login with valid username and
password.
Objective Check Login Process
Input Username and Password
Expected Output Login to the page if details are
valid
Original output An error occurred
Error Info Login wasn’t functioning properly
Table 2: Login Process

Solution:
The error was resolved by correcting the functionality.
Objective Check Login Process
Input Email and Password
Expected Output Login to the page if details are
valid
Original output User successfully logged in
Error Info -
Table 3: Correction for Login Process

Test 3:
The objective of test 3 was to check adding new product and category.
Objective Check Adding Product and
category
Input New product and Category Name
Expected Output Addition of new Product and
Category on list
Original output New product and Category were
added on respective lists.
Error Info -
Table 4: Product and category Addition Process

Test 4:

23
The objective of test 4 was to check if product could be added to cart.
Objective Check Add to Cart Process
Input Add Product to Cart
Expected Output Successfully add to cart
Original output Product was successfully added to
cart
Error Info -
Table 5: Add to Cart Process

Test 5:
The objective of test 5 was to check if the valid payment is received.
Objective Check for Payment Receive
Process
Input Negative value as Payment
Expected Output Invalid Payment
Original output Payment Accepted
Error Info No restriction on negative
integers
Table 6: Payment Process
Solution:
Change was made by adding required restrictor on functionality.
Objective Check for Payment Receive
Process
Input Negative as well as Positive
values as Payment
Expected Output Invalid Payment
Original output Sorry the Payment is Invalid(for
negative) ; Positive values were accepted
Error Info -

Table 7: Correction for Payment Process

24
4.1.2 Integration Testing:
Integration testing was carried out where related module was individually tested.
They were merged together and tested with correlated data. Integrating planning was
performed before integrating all the modules. It occurs after unit testing and before
validation testing. With the help of integration testing uncovered errors during module
testing were fixed. Debugging of error reported during this testing was challenging and it
was interesting to fix them as it gave a clearer picture of the whole system.

Objective Check Integration


Testing
Login : Login
successful under different users and
admin

Add product, Category, Add


to Cart
Expected Output
:Product and
Category

added
successfully

:Added to cart

Successfully

Error Info Successful Execution of an


application
Table 8: Integration and Testing of System

4.1.3 Application Testing:

25
i) Login
a) Negative Test Case:
If the user gives wrong credentials and try to login, then system will respond you
by proper authentication of credentials from database and we will get proper message to
enter valid credentials.
b) Positive Test Case:
By providing the valid credentials, when we click on login button then the system
will redirect us to the pages for the further processing.
ii) Registration
a) Negative Test Case:
New account can be registered by a new user. To create account, the user have to
fill up the fields with valid credentials before registering an account .Users get a proper
message to enter the correct values as per the attributes which they specified.

b) Positive Test Case:


The new account can be created by a new user by providing all the valid
information while registering. Valid credentials should be included in the fields else
registration doesn’t get successful

26
Objective Check Registration Process

Input Username, Email,


Password 1,

Password2

Expected Output New Account Created


Successfully

Table 9: Application Testing

27
CHAPTER 5
RESULT AND DISCUSSION
5.1 Result analysis
The item based recommendation system for food product sales was completed
successfully meeting the initial objectives. The task had been carried out according to
the predefined schedule. The system has been able to provide better platform to the users
of this system (Admin, customers and visitors). The result as output of the software
provides the platform where the customers can order their desired food items online.
This divisive algorithm of hierarchical approach is used in the system which is top-down
approach of the system. Which tells us to proceed through login or signup page and
derived to all the possible user interfaces regarding the entire system ,being capable to
manage, relate activities such as choose, recommend ,add to cart, and rate and so on of
the customer and admin with proper error handling message in user friendly language.
5.2 Conclusion and Future Enhancement
The item based recommendation system is a responsive application. It is an
application for ordering foods online. This project has been developed to carry out the
process easily and quickly with recommendations which is barely available normally in
other launched or known systems. This project is developed using python in Django
framework.
Security in the system is the integral factor as the system involves validation for
both the customers and admin. Proper management of session has been done so that the
admin and customers can maintain the whole session during accessing of application.
Besides that the login validation process is also maintained. Both admin and candidate
can logout from the main page after performing required actions or completing tasks.
5.2.1 Future Enhancement
The system can be expanded to include different varieties and new products.
Recommendation can be enhanced to user-based collaborative filtering.

28
REFRENCE/CITATION
[1][Online]https://timelines.issarice.com/index.php?
title=Main_Page&mobileaction=toggle_view_desktop
[2][Online] http://mealnepal.com/
[3][Online] https://foodmandu.com/

[4]De Leon, E. (2008, August 23). Best Online Food Ordering System.
Restaurant Checklist.

29
APPENDIX I
Some screenshots of web pages

Home Page

Action List

Choose Category

30
Add New Category

Choose Product

31
Recommended Products

Add To Cart

32
Feedback

33
APPPENDIX II
Screenshots of Application Code
Home Page View

Register

Category and Product

34
35
Add To Cart

36

You might also like