Program
Program
This project has been developed to fulfill the registered course, ”Project for the
Bachelor degree of Computer Science and Information Technology in Tribhuvan
University”. It has been submitted to the BSC.CSIT department of Bhairahawa
Multiple Campus.
During COVID-19 people were not allowed to travel freely, keeping that in mind
(as an opportunity) many different brands such as Zomato, Uber Eats, Foodmandu,
etc established as food delivery services. Our project entitled “Food Call” aims to
suggest or recommend to various users, the food items they might like, based on the
most sold, high rating. This project focuses on the simple and easy implementation of
ordering and delivery systems using JAVASCRIPT.
Table of Contents
1. Introduction …………………………………………………………… 1
2. Problem Definition …………………………………………………… 1
3. Objectives ……………………………………………………………... 1
4. Scope And Limitation ……………………………………………….. 1
5. Methodology ………………………………………………………….. 2
5.1. Software Development Model ………………………………. 2
5.2. Study Of Existing Model …………………………………….. 3
5.3. Data Collection ………………………………………………… 3
5.4. Requirement Analysis ………………………………………... 3
5.5. Feasibility Analysis …………………………………………… 4
5.6. Testing …………………………………………………………... 6
5.7. Tools used …………………………………………………….... 7
6. Overview Of System …………………………………………………. 8
7. Time Schedule (GANTT Chart) …………………………………….. 9
8. Expected Outcome …………………………………………………... 10
9. Bibliography ……………………………………………………………11
Food Call
Introduction
This web application will help restaurant owners to take food orders instantly through
smart phone and provide discount offers by tracking records of regular customers.
Problem Definition
When you visit any restaurant, in order to order any food you’ve to wait for the waiter
and along with that if you’re ordering varieties of food it's a hassle to instantly generate
a bill.
Objective
1. To develop a web app that orders food instantly in an easy and simple manner.
2. To manage orders and operate accordingly.
3. To attract and encourage repeat customers.
Scope
It’ll help to establish better communication between service providers and customers.
Hassle free managing (owner) and ordering (customers) of food.
Limitation
Customers need to provide table no. and waiters need to know the table no. from where
order is coming from.
Methodology
Software Development Life Cycle (SDLC)
For any project to be completed, it has to go through stages called Development Life Cycles.
System Development Life Cycle (SDLC) is the process of understanding how an
InformationSystem(IS) can support business needs, designing the system, building it and
delivering it to users. The SDLC composes four phases: Planning, Analysis, Design and
Implementation. In order for this project to be developed, we are going to use an agile
methodology for delivering small pieces of working software quickly to improve customer
satisfaction and focus on continuous improvement.
Among the various development models on the market, we are using an agile
development model for the project. The meaning of Agile is swift or versatile, refers to a
software development approach based on iterative development. Agile methods break
tasks into smaller iterations, or parts do not directly involve long term planning. The
project scope and requirements are laid down at the beginning of the development
process.
Since our goal is to firstly build the working version and then later add the other
functionality, it’s best suited and flexible enough for our project. And thus, firstly we’re
going to add basic fundamental features in the launching version enough to work
properly but in the later future based on requirements we’ll update different features
with new versions of the app.
Study Of Existing System
In order to understand the necessities of our application in the current market, as well as
understanding the steps for developing better application than other currently available
application, we have gone through series of research and study of the existing system such as
Foodmandu, Bhoj, etc.
1. Foodmandu
Foodmandu, founded by Manohar Adhikari, is a pioneer food delivery service in Nepal.
It claims to provide food cuisines of national to international level through reach of
hundreds of restaurants.
2. Bhoj
Bhoj (previously Bhojdeals) is a online delivery service for food and groceries.
This application provides customers delivery services through large number of
restaurants, provides credit system and offers discount deals at various restaurants.
These applications offers the delivery of food to anywhere the customer is located, however we
are currently planning to offer our service strictly within the boundaries of our restaurant. But in
future we might add online food delivery services as per requirements.
Data Collection
Data is the most essential part of software development therefore we’re going to collect
data from various sources such as:
● Primary Sources: Restaurant owners, workers, customers, etc.
● Secondary Sources: Web surfing, interviews, brainstorming, etc.
Requirement Analysis
We need all the pictures and prices of foods that the restaurant is currently providing.
Functional Requirements
1. Authentication of the user whenever he/she logs into the system.
2. System shutdown in case of a cyber attack.
3. A Verification email is sent to the user whenever he/she registers for the first time
on some software system.
Non-Functional Requirements
1. Emails should be sent with a latency of no greater than 12 hours from such an
activity.
2. The processing of each request should be done within 10 seconds
3. The site should load in 3 seconds when the number of simultaneous users are >
10000
Feasibility Analysis
Feasibility study is designed to help decision makers determine whether or not a
proposed project is likely to be successful or not a proposed project is likely to be
successful or not. There are various factors that make a project feasible. The four major
analyses for the feasibility study are:
Economic feasibility
Economic feasibility is concerned with analyzing the cost and benefits associated with
the proposed project. The project is economically feasible as it only requires a mobile
phone, computer and the datasets which are freely available on the internet. The
expected budget for the development of our project has been allocated as:
Resources Cost(Rs)
Laptop 60,000
Hard disk 10,000
Software 5,000
Printing 4,000
Miscellaneous 15,000
Total amount 94,000
Technical feasibility
Technical feasibility evaluates the hardware, software and other technical
requirements for the proposed project. Since, we are going to develop our project
on a computer using Visual Studio Code, JavaScript software development with no
additional hardware required which makes our project technically feasible.
Operational feasibility
Operational feasibility determines the human resources available to operate the
system once it is installed. The system is easy to use due to its simple interface
which requires no additional training or human resource to operate the system.
Testing
In order to develop accurate and optimized application we’ll be performing various
testing such as:
● Unit testing
We’ll test checking small pieces of code to ensure that the individual
parts of a program work properly on their own.
● Integrated testing
We’ll ensure that an entire, integrated system meets a set of
requirements. Integrated testing is performed in an integrated hardware
and software environment to ensure that the entire system functions
properly.
● System testing
We’ll evaluate the whole system against the specified requirements.
● Acceptance testing
We’ll determine whether the software is acceptable for delivery or not.
● Performance testing
We’ll examine the speed, stability, reliability, scalability, and resource
usage of a software application under a specified workload.
● Security testing
We’ll try to find any potential flaws and weaknesses in the software
system that could lead to a loss of data, revenue
● Regression testing
We’ll check if code modifications break an application or consume
resources.
Tools Used
1. Frontend: HTML5/CSS3, JavaScript, React.js
3. Database: MongoDB
Algorithms
For systematic management and easy access to our food items in the menu, we are
going to use binary search algorithm for searching items in the menu and bubble sort to
sort out the placed orders from customers.
1. Binary search algorithm
Binary search is a widely used search algorithm for finding a specific item in a
sorted collection, such as an array or a list. It is highly efficient and follows a
"divide and conquer" approach.Here's a simplified example of a binary search
algorithm in JavaScript for searching items from a menu.
function binarySearch(menu, item) {
let low = 0;
let high = menu.length - 1;
Overview Of System
Time Schedule
Tasks Start Date End Date Duration
Gantt Chart
Expected Outcome
Within 3 months of time period our application will able perform various operations
such as:
● Customers will easily order food within a short period of time.
● Service providers will easily manage orders and provide discount offers based on
number of visits.
● Auto-generated bills will be provided after compilation of order.
● Customers will be able to pay bills through different payment methods as their
convenience.
Bibliography
● Et. al., D. K. S. (2021). ONLINE TABLE RESERVATION WITH PRE-
ORDERING. Turkish Journal of Computer and Mathematics Education
(TURCOMAT), 12(4), 1316–1321. https://doi.org/10.17762/turcomat.v12i4.1197
● Izzati, B. M. (2020). Analysis of Customer Behavior in Mobile Food Ordering
Application Using UTAUT Model (Case Study: GoFood Application). International
Journal of Innovation in Enterprise Systems, 4(01), 23–34.
https://doi.org/10.25124/ijies.v4i01.45
● Ms. Meenu Garg and Dr. Bhoomi Gupta, T. G. (2020). Food Ordering Web
Application for the Fitness freaks. International Journal for Modern Trends in
Science and Technology, 6(12), 449–454. https://doi.org/10.46501/ijmtst061286