An Online Food Delivery Mobile Application
An Online Food Delivery Mobile Application
Submitted by
PARAG DAS
ID: CSE201901082
PMSCS 19th Batch
Supervised by
Professor
DR. MD. IMDADUL ISLAM
Faculty of Computer Science and Engineering
Department of Computer Science and Engineering,
Jahangirnagar University, Dhaka, Bangladesh
JAHANGIRNAGAR UNIVERSITY
March, 2020
Declaration
I, hereby, declare that the work presented in this Project is the outcome of the
investigation performed by me under the supervision of DR. MD. IMDADUL ISLAM,
Professor, Department of Computer Science and Engineering, Jahangirnagar University. I
also declare that no part of this project and thereof has been or is being submitted
elsewhere for the award of any degree or diploma.
…..….……………
(Parag Das)
i
Approval of Acceptance
The project paper is written by Parag Das (CSE201901082) entitled "AN ONLINE
FOOD DELIVERY MOBILE APPLICATION" for restaurant business submitted to
PMSCS Program, Department of Computer Science and Engineering, Jahangirnagar
University in partial fulfillment of the requirements for the degree of Master of Science in
Computer Science. This project is done under the supervision of DR. MD. IMDADUL
ISLAM, Department of Computer Science and Engineering, Jahangirnagar University.
________________________
Supervisor and 1st Examiner
Dr. Md. Imdadul Islam
Professor
Department of Computer Science and Engineering,
Jahangirnagar University
________________________
2nd Examiner
Dr. Jugal Krishna Das
Professor
Department of Computer Science and Engineering,
Jahangirnagar University
________________________
ii
Acknowledgement
On the very outset of this report, I would like to extend my science and obligation
towards all the personages who have helped me in this endeavor. Without their active
guidance, help, cooperation and encouragement, I would not have made headway in the
project.
I am extremely thankful and my gratitude to my supervisor Prof. Dr. Md. Imdadul Islam
for his valuable guidance and support for completion of this project.
iii
ABSTRACT
Now a day’s people are interested to buy foods online, but in Bangladesh buying
foods online is not common due to technological problems. Here most of the food
delivery company works with multiple restaurants. There is no dedicated app for a
particular restaurant. Most of the restaurants in our country have no online base
transaction and they manage their restaurants by the manual system where a lot of
errors may occur due to paperwork.
Here we attempted to provide a generalized program where people can order foods
online using mobile apps and restaurants owner can manage their restaurants through
our system. In this Online Food Delivery System, the owner can manage their
restaurant's task easily. We have provided a user-friendly environment where
restaurant owners can easily use this system. Admin can manage food items, menu
information that will synchronize with the application and customers can see real-time
data. Where a user can order food, at first the user needs to be registered. After
registration or login user can add the food items in the cart & provide the delivery
information. Then the order will be processed by the admin. This application saves
lots of time for restaurants owner to manage their online order. Also this application is
made with the Phonegap mobile application development framework so that we can
build a cross-platform app that will work for IOS, Windows phone & Android OS as
well.
iv
INDEX
TABLE OF CONTENTS
Declaration................................................................................................................................................I
Approval of Acceptance..........................................................................................................................II
Acknowledgement..................................................................................................................................III
Abstract..................................................................................................................................................IV
List of Figures.......................................................................................................................................VII
List of Tables........................................................................................................................................VII
CHAPTER 1.......................................................................................................................1
INREODUCTION..............................................................................................................1
1.1 ONLINE FOOD DELIVERY APP..................................................................................................................1
1.2 Existing App...........................................................................................................................................2
1.3 Objective.................................................................................................................................................2
1.4 Scope......................................................................................................................................................3
1.5 Benefits of proposed system/application................................................................................................3
CHAPTER 2.......................................................................................................................5
REQUIREMENT ANALYSIS...............................................................................................................5
2.1 REQUIREMENT ANALYSIS.......................................................................................................................5
2.2 DATA REQUIREMENT..............................................................................................................................5
2.2.1 Front End.........................................................................................................................................5
2.2.2 Back End.........................................................................................................................................6
2.3 INTERFACE REQUIREMENTS OF THE APPLICATION..................................................................................7
2.3.1 Hardware Interface..........................................................................................................................7
2.3.2 Software Interface...........................................................................................................................7
2.4 FLOW CHART..........................................................................................................................................8
2.5 USE CASE DIAGRAM...............................................................................................................................9
2.6 ACTIVITY DIAGRAM..............................................................................................................................10
2.7 DATABASE DESIGN...............................................................................................................................13
2.7.1 E-R Diagram..................................................................................................................................13
2.8 CONTEXT DIAGRAM..............................................................................................................................14
2.9 DATA FLOW DIAGRAM (DFD)..............................................................................................................15
2.10 NON FUNCTIONAL REQUIREMENT.......................................................................................................19
2.10.1 PHP..............................................................................................................................................19
2.10.2 HTML..........................................................................................................................................19
2.10.3 CSS..............................................................................................................................................19
2.10.4 Java Script...................................................................................................................................19
2.10.5 jQuery Mobile.............................................................................................................................20
2.10.6 Font Awesome.............................................................................................................................20
2.10.7 MySQL........................................................................................................................................20
2.10.8 AngularJS....................................................................................................................................20
2.10.9 Android Studio............................................................................................................................20
CHAPTER 3.....................................................................................................................21
IMPLEMENTENTATION, MAINTENANCE & SECURITY...............................................21
3.1 USER FRONT END.................................................................................................................................21
INDEX PAGE...............................................................................................................................................21
PROMO PAGE..........................................................................................................................................22
CATEGORY PAGE....................................................................................................................................23
LIST PAGE...............................................................................................................................................24
v
ITEM DETAILS PAGE................................................................................................................................25
ORDER PAGE...........................................................................................................................................26
ADDRESS PAGE.......................................................................................................................................27
LOGIN PAGE............................................................................................................................................28
REGISTER PAGE......................................................................................................................................29
CONTACT PAGE.......................................................................................................................................30
3.2 ADMIN BACK END................................................................................................................................31
LOGIN PAGE...............................................................................................................................................31
CATEGORY PAGE....................................................................................................................................31
LIST PAGE...............................................................................................................................................32
ORDER PAGE...........................................................................................................................................32
CUSTOMER DETAILS PAGE......................................................................................................................33
PROMO PAGE..........................................................................................................................................33
SETTING PAGE.........................................................................................................................................34
3.3 SECURITY............................................................................................................................................35
3.3.1 DIFFERENT SECURITY MECHANISM...............................................................................................35
CHAPTER 4.....................................................................................................................36
CONCLUSION.........................................................................................................................................36
4.1 LIMITATIONS.........................................................................................................................................36
4.2 FUTURE PLANS........................................................................................................................................36
4.3 CONCLUSION...........................................................................................................................................36
REFERENCE.......................................................................................................................38
vi
LIST OF FIGURE
FIG 2.1: FLOW CHART BUYING PRODUCT BY USER...........................................................................................8
FIG 2.2: FLOW CHART FOR ADMIN....................................................................................................................8
FIG 2.3: USE CASE DIAGRAM FOR GENERAL CUSTOMER..................................................................................9
FIG 2.4: USE CASE DIAGRAM FOR REGISTER CUSTOMER.................................................................................9
FIG 2.5: USE CASE DIAGRAM FOR ADMIN.....................................................................................................10
FIG 2.6: ACTIVITY DIAGRAM FOR ADMIN.......................................................................................................11
FIG 2.7: ACTIVITY DIAGRAM FOR REGISTER CUSTOMER...............................................................................12
FIG 2.8: ERD..................................................................................................................................................13
FIG 2.9: CONTEXT DIAGRAM FOR OFDMA...................................................................................................14
FIG 2.10: DFD LEVEL 1 FOR ADMIN..............................................................................................................15
FIG 2.11: DFD LEVEL 2- ADMIN PROCESS (CATEGORY MENU)....................................................................16
FIG 2.12: DFD LEVEL 2- ADMIN PROCESS (LIST MENU)...............................................................................16
FIG 2.13: DFD LEVEL 2- ADMIN PROCESS (PROMO)......................................................................................17
FIG 2.14: DFD LEVEL 2- ADMIN PROCESS (CUSTOMER)................................................................................17
FIG 2.15: DFD LEVEL 2- ADMIN PROCESS (MESSAGE)..................................................................................17
FIG 2.16: DFD LEVEL 2- ADMIN PROCESS (LIST ORDER)..............................................................................18
FIG 2.17: DFD LEVEL 2- ADMIN PROCESS (SETTING)....................................................................................18
FIG 3.1: INDEX PAGE......................................................................................................................................21
FIG 3.2: PROMO PAGE.....................................................................................................................................22
FIG 3.3: CATEGORY PAGE...............................................................................................................................23
FIG 3.4: LIST PAGE.........................................................................................................................................24
FIG 3.5: ITEM DETAILS PAGE..........................................................................................................................25
FIG 3.6: ORDER PAGE.....................................................................................................................................26
FIG 3.7: ADDRESS PAGE.................................................................................................................................27
FIG 3.8: LOGIN PAGE......................................................................................................................................28
FIG 3.9: REGISTER PAGE.................................................................................................................................29
FIG 3.10: CONTACT US PAGE..........................................................................................................................30
FIG 3.11: ADMIN LOGIN PAGE........................................................................................................................31
FIG 3.12: ADMIN CATEGORY PAGE................................................................................................................31
FIG 3.13: ADMIN LIST PAGE...........................................................................................................................32
FIG 3.14: ADMIN ORDER PAGE.......................................................................................................................32
FIG 3.15: CUSTOMER MANAGE PAGE..............................................................................................................33
FIG 3.16: ADMIN PROMO PAGE......................................................................................................................34
FIG 3.17: ADMIN SETTING PAGE.....................................................................................................................34
LIST OF TABLE
TABLE 2.1: HARDWARE INTERFACE MINIMUM SYSTEM REQUIREMENT..........................................................7
TABLE 3.1: SOFTWARE INTERFACE MINIMUM SYSTEM REQUIREMENT...........................................................7
vii
CHAPTER 1
INTRODUCTION
Online food ordering is a process of ordering food from a local restaurant or food
cooperative through a web page or app. Much like ordering consumer goods online,
many of these allow customers to keep accounts with them to make frequent ordering
convenient. A customer will search for a favorite restaurant, usually filtered via type
of cuisine and choose from available items, and choose delivery or pick-up. Payment
can be amongst others either by credit card or cash, with the restaurant returning a
percentage to the online food company shown in [1]. With the increasing use of
smartphones, now we can have everything with us in just tap. And this applies to food
too. You can order food online and get free delivery in a few minutes or hours
depending on your order like [2].
However, all of these application deals with some local restaurants. So, we have made
an application dedicated to a single restaurant. Generally, food ordering application
deals with multiple restaurants where our application will be owned by a particular
restaurant or company as in [3]. Like, Foodpanda takes orders via application and
then passes the order to specific restaurants then picks the food item and delivers it to
the customer, but in our app ordered will be processed directly by the restaurant. The
restaurant management team will process the order, where orders will come from
application and admin can check the orders in backend like [4].
1
1.2 Existing App
Food Panda:
The Foodpanda group is a global mobile food delivery marketplace headquartered in
Berlin, Germany, and operating in 24 countries and territories, including India,
Pakistan, Russia, Bangladesh, Hong Kong, and Singapore. The service allows users to
select from local restaurants and place orders via the mobile application as well as the
website. The company has partnered with over 40,000 restaurants.
Hungry Naki:
Hungrynaki.com is a 100% Bangladeshi Online Food Ordering and Delivery Service
launched in 2013 to deliver your cravings at your doorsteps. We are passionate about
food and are always prompt to deliver whenever the radar blips hungry. Come rain,
heat and storm our delivery team will be at your doorstep with a bright smile and
holding the food you have been craving, intact through our insulated boxes!
Pathao Food:
1.3 Objective
The objective of the Online Food delivery mobile application is to help Restaurants to
manage their food ordering and delivery efficiently.
To develop an easy way so that a user can order food without visiting the
Restaurant.
Search different types of food according to the regular category, best sellers,
promotions, free delivery, etc.
Add food items to cart, edit the quantity, remove food items from the cart.
Easy login and registration system and manage historical orders.
2
Bookmark favorite food item for quick checkout.
Keep track of previous order history and bookmark favorite food.
Contact the Restaurant from the application by submitting an inquiry.
1.4 Scope
Following are the scope of the developed application:
For Customer:
Online registration and login: The customer has to register and login to order food
from the application.
View Food items: Customers can view the food items according to the category,
offers, favorite food items bookmarks.
Order: The customer has to add the food items to the cart and give quantity before
giving shipping information.
Shipping Information: The customer has to give the delivery address and payment
information.
For Admin:
Category: Admin can add, view, delete and modify the existing category. Also,
admin can add various promotions.
Items: Admin can add, delete and modify food items for the specific food category.
Summary: Admin can see the order statistics example: top ordered item, popular
orders, daily orders, etc.
Setting: Admin can modify the restaurants settings, example: delivery charge, contact
number, etc.
The proposed system has several benefits which have given below:
3
Support any Mobile OS that supports web technology.
Simple and nice UI/UX.
Can run in old devices that have small a amount of ram.
Keep track of previous order history and Bookmark favorite food.
Easy in-app payment solution that supports multiple payment gateways.
4
CHAPTER 2
REQUIREMENT ANALYSIS
2.1 Requirement Analysis
The application is a fully automated web-based system. The user needs to install the
application on their mobile phone. In this system, there are two parties who interacts
with the application, one of them is a customer or user who wants to order food and
the other is system admin who manages the orders.
Customer requirements:
The problem under study is being divided into several modules/functions discussed
below to understand the approach to the solution in the broader way:
Front End is only for the user or customer. The user buys the foods here. To use the
facilities of ordering foods every user has to create an account.
Home or main page: Here customers can see menus of the application, access
different pages.
Login: User login here to use the full facilities of the system.
5
Sign up: If the customer is not registered, they can sign up here to create a new
account.
Contact us: This is a page to contact with the restaurant where restaurant info has
given.
Cart Screen: View cart screen shows all the selected foods, here quantity can be
updated. And also the option is provided to deselect the foods.
Order Details Screen: This screen shows the final foods in the view cart. This gives
food list, quantity, total amount, etc., so customer will get the clear information that
how much is the total amount of this selection.
Order Confirmation Screen: This is the final screen in the ordering process. Here
customer confirms the order.
Providing Details Screen: Customer will provide the shipping information here.
Admin panel can be accessed by the system administrator, who has access all over the
system.
Login Page: Here login option is provided to the user. There is no need to sign up for
admin. 1 or 2 admin could have in the system.
Category Page: Here admin can add, edit, update food category information’s.
Promo Page: Here admin can add, edit, update offer information’s.
Menu Page: Here admin can add, edit, update food information’s.
Order Page: Here admin process the order that has been placed by the user.
6
Settings: Here admin can set information’s about his restaurant.
7
A flow chart is a graphical or symbolic representation of process. The flow chart
symbols are linked together with arrows showing the process flow direction.
8
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. The main purpose of a use
case diagram is to show what system functions are performed for which actor.
9
Fig 2.5: Use case diagram for Admin
Construction
Activity diagrams are constructed from a limited number of shapes, connected with
arrows. The most important shape types:
Rounded rectangles represent activities;
Diamonds represent decisions;
Bars represent the start (split) or end (join) of concurrent activities;
A black circle represents the start (initial state) of the workflow;
An encircled black circle represents the end (final state).
10
Activity Diagram of Admin
11
Fig 2.7: Activity diagram for Register Customer
12
abstract and conceptual representation of data. Entity-relationship modeling is a
database modeling method, used to produce a type of conceptual schema or semantic
data model of a system, often a relational database, and its requirements in a top-down
fashion. Diagrams created by this process are called entity-relationship diagrams, ER
diagrams.
13
the project or process at hand. It not only shows the process or project in its context, it
also shows the project’s interactions with other systems and users. A System Context
Diagram (SCD) in software engineering and systems engineering is a diagram that
represents the actors outside a system that could interact with that system. This
diagram is the highest level view of a system. It is similar to a Block diagram.
14
Data flow diagrams are highly essential for requirement specification of the system.
Data flow diagrams are an intuitive way of showing how data is processed by a
system. Those are used to show how data flows through a sequence of processing
steps. The data is transformed at each step or transformations are program functions
when data flow diagrams are used to documents a system.
15
Fig 2.12: DFD Level 2- Admin process (List Menu)
16
Fig 2.13: DFD Level 2- Admin process (promo)
18
2.10 Non functional requirement
2.10.1 PHP
PHP is powerful server side scripting language for creating dynamic and interactive
websites. PHP is the widely used, free and efficient alternative to competitors such
as Microsoft’s ASP. PHP is perfectly suited for web development and can be
embedded directly into the HTML code. The PHP syntax is very similar to Perl and
C. PHP is often used together with apache on various operating systems. It also
supports ISPI and can be used with Microsoft IIS on Windows.
2.10.2 HTML
HTML is a language for instructing the browser how to display web page. It’s the
building block for building web site.
HTML stands for Hyper Text Markup Language
An HTML file is a text file containing small markup tags
The markup tag tell the web browser how to display the page
An HTML file must have an htm or html file extension
An HTML file can be created using a simple text editor
2.10.3 CSS
Cascading Style Sheets (CSS) is a style sheet language used to describe the
presentation semantics of a document written in a markup language.
CSS Pages load faster.
Easy maintenance
Superior styles to HTML
CSS saves time
19
JavaScript is a scripting language
JavaScript language is a lightweight programming language
JavaScript is usually embedded directly into HTML
2.10.7 AngularJS
HTML is great for declaring static documents, but it falters when we try to use it for
declaring dynamic views in web-applications. AngularJS lets you extend HTML
vocabulary for your application. The resulting environment is extraordinarily
expressive, readable, and quick to develop [8].
2.10.8 MYSQL
MySQL is most commonly used for Web applications and for embedded applications
and has become a popular alternative to proprietary database systems because of its
speed and reliability. MySQL can run on UNIX, Windows and Mac-OS. MySQL is a
client-server system runs over TCP/IP network. In other words, the server runs on a
machine with an IP address (or hostname), on a chosen TCP port number. The default
TCP port number for MySQL is 3306, but you are free to choose another port number
between 1024 and 65535 to run the server.
20
CHAPTER 3
21
Promo Page: Here user can see the current promo offer.
22
Category Page: Here user views the food category.
23
List Page: Users can select the specific food item from a specific category.
24
Item Details Page: Users can see details information about a food item.
25
Order Page: Show the item added in cart with Price.
26
Address Page: Here users have to provide their address.
27
Login: User login here to use the full facilities of the system.
28
Register: If a customer is not registered, he can sign up here to create a new account.
29
Contact Us: This is a page to show information like restaurant address, contact no
etc.
30
3.2 Admin Back End
Login Page: This is the page for Admin to log in to the system.
Category Page: Here admin can add, edit, update category information.
31
List Page: Here admin can manage the food list of a specific category.
32
Customer: Here admin can view information about registered customers.
Promo Page: Here admin set the latest promo offer news.
33
Setting Page: Here admin can setup restaurant information’s.
3.3 Security
Data security is the means of ensuring that data is kept safe from corruption and that
access to it is suitably controlled. Thus data security helps to ensure privacy. It also
helps in protecting personal data. Data security is part of the larger practice of
Information security.
Encryption:
Encryption is the usual way to meet the data confidentiality requirements and
although using a symmetric algorithm could be used, we have used md5 encryption.
MD5 stands for 'Message Digest algorithm 5'. MD5 algorithm is used as a
cryptographic hash function or a file fingerprint. Often used to encrypt password in
database, MD5 can also generate a fingerprint file to ensure that a file is the same
34
after a transfer for example. A MD5 hash is composed of 32 hexadecimal characters.
Enter a word in the MD5 encrypter form above to know the corresponding MD5 hash.
Message Authentication:
A Message Authentication Code (MAC) is cryptographic checksum, calculated using
a symmetric algorithm, which is appended to a message and which can be verified by
the recipient of the message. The use of MAC is one method of providing the integrity
and authentication services, but it is not appropriate for meeting the requirements for
non-repudiation [10]
35
CHAPTER 4
CONCLUSION
4.1 Limitations:
As I planned and make the system in some requirement and I think it will fulfill my
desires. Some limitations of the project still there for my time limitation as it is a large
project. Limitations are
Single Payment System.
Slow rendering of UI.
UI is not good enough due to multiple platform support.
Security system should be stricter.
However, I will glade if I get more suggestions about the project, so that I can make
the project more effective.
Customers could subscribe for price alerts which would enable them to receive
messages when the price for foods falls below a particular level and when new
food is added. Multiple payment gateway like cc processing.
4.3 Conclusion
Finally, I would like to conclude that in the 3 months while I was working on this
project, I have learned about many new technologies, concepts and also have learned
about working in pressure. My project is based on the Phonegap framework. The
application will support those operating systems and databases, which support web
technologies. This project followed the maintenance SDLC, which involved the steps
of these:
36
Planning
Feasibility Study
System Specification and Design
Program Design and Coding
Testing
Implementation and Maintenance
37
References
[1] Shoheb Baig, Kunjan Mhaske, Dr. Lenina SVB and Hemant Wankhede,
‘eatlex.com : Online Food Delivery Service,’ International Journal of Innovations and
Advancement in Computer Science, vol. 6, issue 11, no. 4, pp. 50-52, Nov 2017
[2] Shahirah Mohamed Hatim, Nur Azmina Mohamad Zamani, Lily Marlia Abdul
Latif and Mahani AhmadKardri, 'E-FoodCart: An Online Food Ordering Service,'
International Journal of Innovative Technology and Exploring Engineering (IJITEE),
vol. 8, issue. 4, pp. 302-203, Feb 2019
[3] Techcrunch. The Billion Dollar Food Delivery Wars. July 12, 2015.
http://techcrunch.com/2015/07/11/the-billion-dollar-food-delivery-wars (accessed 5
Feb 2020).
[4] Abhishek Singh, Adithya R, Vaishnav Kanade and Prof. Salma Pathan, 'Online
Food Ordering System,' International Journal of Computer Applications, vol. 180, no.
6, pp. 22-23, Dec 2017
38