Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

Project and Professionalism

(6CS020)

A1: Project Proposal


<Online Food Ordering System>

Student Id : [NP03S180037]
Student Name : [Ashish – Parajuli]
Supervisor : [Hemanga Gautam]
Cohort/Batch :4

Submitted on : <23-09-2020>
Table of Contents
I. Statement of Project Details: ........................................................................................ 1
Project Title: Online Food Ordering System. ............................................................... 1
Academic Questions: ................................................................................................... 1
Aims: ............................................................................................................................ 1
Objectives: ................................................................................................................... 1
General Objectives:.................................................................................................. 1
Specific Objectives: .................................................................................................. 1
Artifact (proposed) to be developed: ............................................................................ 1
II. Project Proposal: ......................................................................................................... 2
1. Introduction: ............................................................................................................. 2
1.1. Background of Study: ........................................................................................ 2
1.2. Problem and Solution: ....................................................................................... 2
2. Initial Research: ....................................................................................................... 3
Pick the Food: .......................................................................................................... 3
Tom Yum (Thai Restaurant): .................................................................................... 4
Yummy Cafe: ........................................................................................................... 5
3. Further details of the academic question: ................................................................ 7
4. Artefact(Proposed):.................................................................................................. 8
4.1. Android based Platform: .................................................................................... 8
4.2. Android Studio:.................................................................................................. 8
4.3. Fire Base: .......................................................................................................... 8
4.4. Java Programming Language: .......................................................................... 9
4.5. Chat Bot: ........................................................................................................... 9
4.6. Payment Integration: ......................................................................................... 9
4.7. MySQL Database: ........................................................................................... 10
4.8. Methodology:................................................................................................... 10
4.9. Stages: ............................................................................................................ 11
4.10. Testing: ......................................................................................................... 12
4.11. Tools and Technique: .................................................................................... 12
4.12. Plan/Schedule: .............................................................................................. 13
Work Breakdown Structure(WBS) .......................................................................... 13
Gantt Chart:............................................................................................................ 14
4.13. Functional Decomposition Diagram: ................................................................. 15
4.13.1. User Management System: ........................................................................ 15
4.13.2. Order Management System: ...................................................................... 15
4.13.3. Payment Management System: ................................................................. 15
4.13.4. Notification Management System: .............................................................. 15
4.13.5. Food Management System: ....................................................................... 15
4.14. Usecase Diagram: ............................................................................................ 16
4.14.1. User Management System: ........................................................................ 16
4.14.2. Order Management System: ...................................................................... 17
4.14.3. Payment Management System: ................................................................. 18
4.14.4. Notification Management System: .............................................................. 19
4.14.5. Food Management System: ....................................................................... 20
References .................................................................................................................... 21
III. Additional Information:.............................................................................................. 23
1. Resources:............................................................................................................. 23
Hardware Requirement: ......................................................................................... 23
Software Requirement: .......................................................................................... 23
2. Client: .................................................................................................................... 23
Figure 1: Pick the Food ................................................................................................... 3
Figure 2: Tom Yum Thai Restaurant Display Page ......................................................... 4
Figure 3: Yummy Cafe .................................................................................................... 5
Figure 4: Comparing similar systems with the proposed system .................................... 6
Figure 5: Agile Methodology .......................................................................................... 10
Figure 6: WBS ............................................................................................................... 13
Figure 7: Gantt Chart..................................................................................................... 14
Figure 8: Functional Decomposition Diagram(FDD) ...................................................... 15
Figure 9: User Management System ............................................................................. 16
Figure 10: Order Management System ......................................................................... 17
Figure 11: Payment Management System .................................................................... 18
Figure 12: Notification Management System................................................................. 19
Figure 13: Food Management System .......................................................................... 20
I. Statement of Project Details:

Project Title: Online Food Ordering System.

Academic Questions:
 How this system will solve the food ordering problem in less time?
 Will the system affect the customer in considerable way?
 Could there be a reduction in cost and or an increase in benefits?
 How can a Chatbot be trained with customized questions in the system?
 Can Chatbot be able to give the response to the customer's questions?

Aims:
 To ease the process of online food ordering system to order food.
 To provide an Android based food ordering system where a user can order food
through their own smartphones.
 To solve the problem of visiting restaurant or café and saving time.

Objectives:

General Objectives:
 To increase efficiency and improve services provided to the customers through
better application of technology in daily operations.
 To be able to stand out from competitors in the food service industry

Specific Objectives:
 To enable customers to have a visual confirmation that the order was placed
correctly.
 To reduce time wasting by eliminating long queues.
 To increase customer satisfaction by speeding up food delivery.

Artifact (proposed) to be developed:


 Android Based Platform
 Android Studio
 Fire Base
 Java Programming Language
 Chat Bot for AI
 Payment Integration
 MySQL Database

1|Page
II. Project Proposal:
1. Introduction:
Computers have become part of life for almost every type of information to be obtained.
Life in the 21st century is full of technological advances and it is very difficult for any
organization to survive in this technological age without the use of technology. Ordering
food online is something that makes our lives even easier. It is a method of supplying
food at their valued location to the customer. It is going to save people time and power.
Instead of going directly to the restaurants we can order our food from android application.

With the evolution of technology and connectivity, ordering food through mobile apps or
online has become the most preferred way of ordering food. So online food ordering
system is the Android based application that allows customers to order food through a
mobile application where customer can place an order and cancel their order as their will.
And my system also handles the billing and payment procedures. Every customer will get
their bill on the item they ordered and lastly customer can process their payment within
the application. Admin can add the new category of food and can add description and
admin also can view the order placed by customer (Premasiri, et al., 2018)

1.1. Background of Study:


The food supply market is €83 billion worldwide, or 1 percent of the overall food market
and 4 percent of food sold by restaurants and fast-food chains. It has already matured in
most countries, with a projected average annual growth rate for the next five years of just
3.5 per cent. With this system there is increase in sales and revenue of the restaurants.
(Hirschberg, et al., 2016)

1.2. Problem and Solution:


The online food ordering system is an online food menu where customers can place the
order as they wish. Going to the restaurant or café to order food would be more time
costly and customers would have to wait for the order to get prepared. Customer can
place order by staying at home or their workplace which will be more effective for
customer because it can save a lot of time. The proposed system will show food of the
particular restaurant or café. Customer make the payment online or in cash or pay-on-
delivery. For more safe ordering separate accounts are maintained by providing ID and
password for each user.

2|Page
2. Initial Research:
This section provides an overview of important knowledge-based research on point of
related systems. It introduces the framework for the development of the new system. The
main purpose of initial research work was to survey previous studies on online food
ordering system which includes Pick the Food, Tom Yum Thai Restaurant and A
Restaurant etc.

Pick the Food:


Mobile food ordering system based on Android OS, for restaurants in Jakarta, Indonesia.
This application's courier features display a list of all available restaurants from which
customers can submit orders. The key functions of this device are providing consumers
with product specifics to order food online, providing restaurants obtain the order from
customers and assisting the courier during the distribution of the items. The system was
developed using the Software Development Life Cycle (SDLC) water fall technique (Ricky
, 2014).

Figure 1: Pick the Food

3|Page
Tom Yum (Thai Restaurant):
Mobile Application for Thai restaurant ordering food, Tom Yum Thai in Vaasa. In order to
minimize the issue that emerged in the Yum Thai restaurant due to insufficient room for
growing customer numbers, the author suggested this method. The framework is focused
on agile development method, integrating website and Android program. The Context
Platform is built using S2SJ (i.e., Struts 2 Framework, Spring Framework, and JPA
Framework combined). With Servlet and JSP, the Website Foreground Public Page is
created, while the Android program is created using the Android platform. But the
customer was also having difficulty looking for the exact dish to order. (Fan, 2014)

Figure 2: Tom Yum Thai Restaurant Display Page

4|Page
Yummy Cafe:
Yummy Café has equipped the food and beverage industry with a computerized and
mobilized food ordering system. The device client side software is created using
NetBeans IDE 7, while Android Studio IDE was used to create the cell phone client
application. Using Throwaway Prototyping Techniques, the system was developed. The
Joint Design Session (JAD) was held during the planning process to capture customer
specifications. Then, SWOT analysis methods were used to perceive power, vulnerability,
possibilities and limits. (HONG, 2016)

Figure 3: Yummy Cafe

5|Page
Features Pick the Tom Yum Yummy Cafe Proposed System
Food

Based on Android
Os

Send Notification

Chatbot Integration

Payment Integration

Order History and


Order Status

Figure 4: Comparing similar systems with the proposed system

From the above reviewed literature, it is found that all of them are lacking some of the
factors. Taking the references from all this, the proposed architecture is built so that the
integration of Chatbot for customer inquiries will have a better interaction environment. In
addition to buying food online, consumers and staff can now grasp the details related to
food even though they are offline via the integration of Chatbot.

6|Page
3. Further details of the academic question:

Artificial Intelligence Modelling Language(AIML) was used to design and train the
Chatbot. Custom questions are entered in the AIML pattern tag and the relevant answer
is given in the AIML template tag. The Ab.jar file is then used to compile the language.
The Chatbot can provide a limited response based on the training data. Since the
proposed chatbot is a rule-based chatbot, the new data cannot be handled. Although
some intelligence is given and is able to retain some input data with the help of tags. The
proposed application is android based so it will be easy for the chef and other staffs to
see the order details. The customers won’t have to visit the restaurant or café and wait
for the food. This will help to consume less time. The problem of miscommunication and
order mismatched can be prevented from the proposed system.

7|Page
4. Artefact(Proposed):

4.1. Android based Platform:


Android is a mobile operating system developed specifically for touchscreen handheld
devices such as smartphones and tablets, built on a modified version of the Linux kernel
and other open source applications. The Linux kernel allows Android to take advantage
of key security features and allows device manufacturers to develop a well-known kernel's
hardware drivers. Hardware Abstract Layer (HAL) offers standardized interfaces that
expose hardware specifications to higher-level Java API frameworks. HAL consists of
several library modules, each of which implements an interface for a particular hardware
device type, such as a camera or a Bluetooth module. Android also provides a collection
of key runtime libraries that provide much of the Java programming language
functionality, plus some Java 8 language features that the Java API framework uses.
(Andriod, 2019)

4.2. Android Studio:


Android Studio is the official Integrated Development Environment (IDE) for the
development of Android applications based on IntelliJ Concept. Android Studio provides
more functionality that improve efficiency when creating Android applications. Some of
them are: -

 A flexible Gradle-based building system.


 A fast, feature-rich emulator.
 A unified environment that can be developed for all Android devices.
 Extensive test tools and frameworks.
 Lint tools to capture performance, usability, version compatibility, and other issues.
 Support for C++ and NDK. (Android Developers, 2018)

4.3. Fire Base:


The backend of the proposed system is designed using the Firebase Real-time Database
to help store and synchronize data with the NoSQL cloud database. It is a schema less
database and the data is stored in JSON format. Advantages and Disadvantages using
firebase are below: -

Advantages:
 Firebase is a database for real-time use.
 It has a huge storage ability.
 It has JSON storage, which means that there is no boundary between data and
objects.
 It is highly secure.
 It has JSON storage, which means no barrier between data and objects.

8|Page
Disadvantages:
 Firebase is not commonly used, or a battle-tested enterprise.
 It has very minimal query and indexing.
 It does not have any aggregation.
 It doesn't have a map-reduce feature.
 Cannot query or list users or store data. (Java Point, 2018)

4.4. Java Programming Language:


Java is a class-based, object-oriented programming language intended to provide as little
dependencies as possible about implementation. It is a general programming language
built to make application developers write once, run anywhere (WORA), which ensures
that compiled Java code will run without the need for recompilation on all platforms that
support Java. (tutorialspoint, 2018)

4.5. Chat Bot:


A chatbot is a computer software that uses voice commands or text chats or both to mimic
human communication. Chatbot, short for chatterbot, is a feature of Artificial Intelligence
(AI) that can be incorporated and used by any large application of messaging.
(Frankenfield, 2020)

Chatbot can be designed in two different approaches; retrieval based and generative
based. In retrieval based, set of limited guides are provided to the bot and it observes the
keywords and mapped to relevant responses. These models are useful in case the target
domain is limited such as a model trained only for food related conversations. It can be
applicable in the field of FAQs, customer support services etc. It does not handle the
unseen questions accurately. (Nagar, 2019)

4.6. Payment Integration:


An online payment gateway is a tunnel connecting your bank account to the platform
where you need your money transfer. A payment gateway is an app that helps you to
make an online purchase by multiple payment methods such as net banking, credit card,
debit card, UPI or the many online wallets available these days. Payment gateway
performs several tasks to finalize the transaction:

 Encryption
 Authorization Request
 Confirming the Order
There are APIs for integration that all payment gateways provide. These APIs help the
merchant (website or app) integrate gateways of payment into their website or app.
Merchant must incorporate the API offered by the payment gateway and customer would
land at the end of the payment gateway at the time of payment on the page hosted. All

9|Page
payment-related information is on the page itself, such as card details, bank selection,
etc.

4.7. MySQL Database:


MySQL is a Structured Query Language (SQL)-based Oracle-backed open source
relational database management system (RDBMS). MySQL runs on almost all devices
including Linux, UNIX and Windows. MySQL is based on the client-server model. The
core of MySQL is the MySQL server that handles all the database instructions (or
commands). The MySQL software is available as a standalone software to be used with
a client-server in a networked environment and as a library to be embedded (or linked)
into separate applications.. (Rouse, 2015)

4.8. Methodology:
An Agile Approach is the right technique for this project. The Agile methodology is an
incremental and iterative approach to mobile application development, where the full
design cycle of software development is split into many sub-modules, regarded as mini-
projects. To sub-module, from concept to development, testing and execution, is allocated
to an individual team and subjected to the full development cycle. It is considered
unstructured, and less attention is granted to documentation than software creation.
Shippable elements of the software are provided to the consumer in agile production after
an iteration concludes. (Contributer, 2018)

Figure 5: Agile Methodology

10 | P a g e
4.9. Stages:
For developing the application, the project goes through the following stages of the agile
methodology.

4.9.1. Concept:
At the first step of the agile software development life cycle, the team researches, scopes
out and prioritizes projects. Depending on the organization department’s some team may
work on more than one project at the same time. The business opportunity and determine
the time and work to complete the project should be defined.

4.9.2. Inception:
Once the project is identified then work with stakeholders to determine the requirements
using flow diagram or high-level UML diagrams to demonstrate how the features should
function and how it will fit into existing system. Then choose team members to work on
the project and allocate resources.

4.9.3. Construction/Iteration:
Once requirements are defined for the initial sprint based on stakeholder feedback and
requirements, then the work starts. First iteration of the project begins by UX designers
and developers with the goal of having a working product will undergo various rounds of
revisions, so the bare minimum functionality might only be included in the first iteration.

4.9.4. Release:
When we are ready to release the product into the world. Finishing software iteration
would take the following steps: -

 Test the system.


 Address any defects.
 Finalize system and user documentation.
 Release the iteration into production.

4.9.5. Production:
Team should keep the system running smoothly and show users how to use it.

4.9.6. Retirement:
Remove the system release from production, usually when a system is replaced with a
new release or the system becomes obsolete, redundant. (Lucidchart Content Team,
2019)

11 | P a g e
4.10. Testing:
For the testing of the system I have used black box testing because it is used to test the
system against external factors responsible for software failures. This testing approach
focuses on the input that goes into the software, and the output that is produced. The
testing team does not cover the inside details such as code, server logic, and
development method. Black box testing is based on the requirements and checks the
system to validate against predefined requirements. (Staff Writer, 2019)

4.11. Tools and Technique:


Tools and Technique Description

Android studio will be used for coding and


development of the application. We are using
Android Studio android studio for android platform.

We will use Java programming language since


Java Programming Language Java is a programming language that can be
used to build full applications that can run on a
single device or be spread over a network
between servers and clients.
MS-word is used for documentation.
MS-Word

For database.
MySQL and Fire Base
Modelling Tools.
Gantt Chart
Used to design wire frame.
Balsamiq

12 | P a g e
4.12. Plan/Schedule:

Work Breakdown Structure(WBS)

Figure 6: WBS

13 | P a g e
Gantt Chart:

Figure 7: Gantt Chart

14 | P a g e
4.13. Functional Decomposition Diagram:

Figure 8: Functional Decomposition Diagram(FDD)

4.13.1. User Management System:


User management system helps to manage user. Admin and Customer are the two users
in this system where admin can see the order placed by customer and also can add or
remove item from the application. Customer can order food by their choice.

4.13.2. Order Management System:


Order management system helps to take order from customer and confirm the order done
by the customers.

4.13.3. Payment Management System:


Payment management system helps customer to pay their bill. And it also checks whether
customer have paid for the food or not.

4.13.4. Notification Management System:


Notification management system helps admin to get notified if the order is place by
customer or not. It helps customer to get notified if the whether order is placed or not.

4.13.5. Food Management System:


Food management system helps listing the food items and adding description and price
to the food.

15 | P a g e
4.14. Usecase Diagram:

4.14.1. User Management System:

Figure 9: User Management System

16 | P a g e
4.14.2. Order Management System:

Figure 10: Order Management System

17 | P a g e
4.14.3. Payment Management System:

Figure 11: Payment Management System

18 | P a g e
4.14.4. Notification Management System:

Figure 12: Notification Management System

19 | P a g e
4.14.5. Food Management System:

Figure 13: Food Management System

20 | P a g e
References
Andriod, 2019. Platform Architecture. [Online]
Available at: https://developer.android.com/guide/platform
[Accessed 17 09 2020].

Android Developers, 2018. Developers. [Online]


Available at: https://developer.android.com/studio/intro
[Accessed 17 09 2020].

Contributer, G., 2018. Packet Hub. [Online]


Available at: https://hub.packtpub.com/9-reasons-to-choose-agile-methodology-for-
mobile-app-development/
[Accessed 17 09 2020].

Fan, Y., 2014. MOBILE FOOD ORDERING, s.l.: s.n.

Frankenfield, J., 2020. Investopedia. [Online]


Available at:
https://www.investopedia.com/terms/c/chatbot.asp#:~:text=A%20chatbot%20is%20a%2
0computer,through%20any%20major%20messaging%20applications.
[Accessed 17 09 2020].

Gupta, D. M., 2019. A Study on Impact of Online Food delivery app on Restaurant
Business special reference to zomato and swiggy. 6(1).

Hirschberg, C., Rajko, A., Schumacher, T. & Wrulich, M., 2016. The changing market for
food delivery. Mckinsey&company, pp. 01-02.

HONG, L. W., 2016. Food Ordering System Using Mobile Phone, s.l.: s.n.

Java Point, 2018. Java Point. [Online]


Available at: https://www.javatpoint.com/firebase-
introduction#:~:text=Firebase%20(a%20NoSQLjSON%20database)%20is,%2C%20IOS
%2C%20and%20Web%20apps.
[Accessed 17 09 2020].

Lucidchart Content Team, 2019. LucidChart. [Online]


Available at: https://www.lucidchart.com/blog/agile-software-development-life-cycle
[Accessed 17 09 2020].

Nagar, S., 2019. Dzone. [Online]


Available at: https://dzone.com/articles/how-to-make-a-chatbot-with-artificial-intelligence
[Accessed 17 09 2020].

21 | P a g e
Premasiri, H. et al., 2018. Foody - Smart Restaurant Management and Ordering System.
Malambe, Sri Lanka, Institute of Electrical and Electronics Engineers(IEEE).

Ricky , M. Y., 2014. Mobile Food Ordering Application using Android OS Platform ,
Jakarta, Indonesia : EDP Sciences.

Rouse, M., 2015. SearchOracle. [Online]


Available at: https://searchoracle.techtarget.com/definition/MySQL
[Accessed 17 09 2020].

Staff Writer, 2019. ReQtest. [Online]


Available at: https://reqtest.com/testing-blog/black-box-
testing/#:~:text=Black%20box%20testing%20is%20used,server%20logic%2C%20and%
20development%20method.
[Accessed 17 09 2020].

tutorialspoint, 2018. TutoiralsPoint. [Online]


Available at: https://www.tutorialspoint.com/java/index.htm
[Accessed 17 09 2020].

22 | P a g e
III. Additional Information:
1. Resources:
Hardware Requirement:
Pc:
Pc should meet the following requirements:

 Operating System: Windows 7/8/10 (32- or 64-bit)


 4 GB RAM minimum or 8 GB recommended
 2 GB of available disk space minimum
 1280 * 800 minimum screen resolution

Mobile Devices:
For monitor the android application mobile devices are required. Devices having android
is suitable for testing but emulator can be added for other OS devices.

Internet:
Internet is required to download Android SKD and perform other important functions.

Software Requirement:
 Android Studio.
 Java Programming Language.
 MySQL Database.

2. Client:
I do not have any external client so my supervisor Mr. Hemanga Gautam is my client.

23 | P a g e

You might also like