Professional Documents
Culture Documents
Tribhuvan University
Institute of Science and Technology
PROJECT REPORT
Submitted To
Department of Computer Science and Information Technology
Himalaya Darshan College
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.
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.
Also the system has reliability, faster service, recommendation service, and features
for preserving cultural aspects with quality food.
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
2
LIST OF TABLES
3
LIST OF FIGURES
4
LIST OF ABBREVIATIONS
GB Giga Byte
UI User Interface
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
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
9
MySQL
SQL connector
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.
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.
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
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.
14
2.6 System Flowchart:
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.
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
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 -
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.
added
successfully
:Added to cart
Successfully
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.
26
Objective Check Registration Process
Password2
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
34
35
Add To Cart
36