Professional Documents
Culture Documents
_______________________________________________________________________
Department of CS&IT
Submitted By:
Department of CS&IT
University of Lahore (Gujrat Campus)
Eatray (Food Ordering App)
________________________________________________________________________
STATEMENT OF SUBMISSION
This is to certify that Shan Mustafa Roll No. 70057268, Rana Ali Azeem Roll No.
70057104 and Saqlain Naeem Butt Roll No. 70057272 has completed the final year
project named as Eatray (Food Ordering App) at the Department of CS&IT, University
of Lahore (Gujrat Campus), to fulfill the requirement of the degree of Bachelor of
Science’s in Software Engineering.
_____________________
Project Supervisor
______________________ ______________________
Project Examiner Project Coordination Office
Faculty of C&IT -UOL
Proofreading Certificate
It is to certify that I have read the document meticulously and circumspectly. I am
convinced that the resultant project does not contain any spelling, punctuation or
grammatical mistakes as such. All in all I find this document well organized and I am in
no doubt that its objectives have been successfully met.
_____________________
Dr. Baber Hayat
Acknowledgment
We truly acknowledge Dr. Baber Hayat Lecturer of the Department of Computer
Science and Information Technology, University of Lahore (Gujrat Campus) for their
cooperation and continuous help. He has been a constant source of guidance throughout
the project. We are also thankful to our friends and families whose silent support let us
complete our project.
Shan Mustafa
Abstract
As world is now become the house of technology and every business is now trying to
moving towards the usage of technology. Food industry is one of the major industries in
the world and food is the one of the common element of our daily life which we need to
live. Technology used in the food industry now becomes very much popular among
people and it provides ease to reduce their hunger. Restaurant automation now becomes
very much popular and people using mobile apps to order their food rather than
traditional menu card ordering. Here we are presenting the food ordering mobile
application named Eatray which will help the customer to fulfill their hunger and to the
manager/owner to run their business smartly. The main idea behind this project is to
provide pre-order facility to the customer so that customer can pre-book their order before
visiting to the café/restaurant. Number of applications are running through which we can
order our food but they are not providing the facility of order the food before visiting the
outlet. The research method used in this research is water model of System Development
Life Cycle (SDLC) method with following phases: requirement definition, analyzing and
determining the features needed in developing application and making the detail
definition of each features, system and software design, designing the flow of developing
application by using storyboard design, user experience design, Unified Modeling
Language (UML) design, and database structure design, implementation an unit testing,
making database and translating the result of designs to programming language code then
doing unit testing, integration and System testing, integrating unit program to one unit
system then doing system testing, operation and maintenance, operating the result of
system testing and if any changes and reparations needed then the previous phases could
be back.
Table of Contents
Table of Figures
Figure 1 the Waterfall Model ............................................................................................. 22
Figure 2 High Level Use case ............................................................................................ 23
Figure 3 Abstract Level Use case ...................................................................................... 24
Figure 4 Customer Use case .............................................................................................. 25
Figure 5 Manager Use case ................................................................................................ 28
Figure 6 Chef Use case ...................................................................................................... 29
Figure 7 Full Sequence Diagram ....................................................................................... 31
Figure 8 Customer Sequence Diagram .............................................................................. 32
Figure 9 Manager Sequence Diagram ................................................................................ 33
Figure 10 Chef Sequence Diagram .................................................................................... 34
Figure 11 Architecture Diagram ........................................................................................ 35
Figure 12 Class Diagram of System .................................................................................. 35
Figure 13 ERD Diagram .................................................................................................... 36
Figure 14 Manager Login .................................................................................................. 50
Figure 15 Manager Dashboard........................................................................................... 50
Figure 16 Adding new Category ........................................................................................ 51
Figure 17 New Category Added ........................................................................................ 51
Figure 18 Category List ..................................................................................................... 52
Figure 19 Adding new Product to Category ...................................................................... 52
Figure 20 Adding new Product .......................................................................................... 53
Figure 21 New Product Added .......................................................................................... 53
Figure 22 Product List ....................................................................................................... 54
Figure 23 Update Table Status ........................................................................................... 54
Figure 24 Table Updated ................................................................................................... 55
Figure 25 Table Chart ........................................................................................................ 55
Figure 26 Displaying orders............................................................................................... 56
Figure 27 Customer Registration ....................................................................................... 56
8 The University of Lahore, Chenab Campus
Eatray (Food Ordering App)
________________________________________________________________________
Figure 28 Customer Registration ....................................................................................... 57
Figure 29 Code Verification .............................................................................................. 57
Figure 30 Home Screen ..................................................................................................... 58
Figure 31 Food List ............................................................................................................ 59
Figure 32 Food Details....................................................................................................... 60
Figure 33 Add food to tray................................................................................................. 61
Figure 34 Confirmation...................................................................................................... 62
Figure 35 Tray.................................................................................................................... 63
Figure 36 Method of Delivery ........................................................................................... 64
Figure 37 Table Chart ........................................................................................................ 65
Figure 38 Payment Method ................................................................................................ 66
Figure 39 Order Cancellation............................................................................................. 67
Table of tables
Table 1 Customer Use case ................................................................................................ 26
Table 2 Manager Use case ................................................................................................. 27
Table 3 Chef Use case........................................................................................................ 30
Table 4 Test Case 1 ............................................................................................................ 37
Table 5 Test Case 2 ............................................................................................................ 38
Table 6 Test Case 3 ............................................................................................................ 39
Table 7 Test Case 4 ............................................................................................................ 39
Table 8 Test Case 5 ............................................................................................................ 40
Table 9 Test Case 6 ............................................................................................................ 41
Table 10 Test Case 7 .......................................................................................................... 42
Table 11 Test Case 8 .......................................................................................................... 43
Table 12 Test Case 9 .......................................................................................................... 44
Table 13 Test Case 10 ........................................................................................................ 45
Table 14 Test Case 11 ........................................................................................................ 46
Table 15 Test Case 12 ........................................................................................................ 47
Table 16 Test Case 13 ........................................................................................................ 48
1.1 Introduction:
This Smart Ordering System will provide the next level user experience to the customers
as well as to the management. Customer can make their tray by adding food of their own
choice from the category offered by the management. Tray can be for a single person as
well as for two or more persons. The customer can pre-order their tray so that the order
will be ready before visiting the café/restaurant. The main purpose of this application is to
save the time of the customer as well as management. Pre-order feature will let this
happen. Rather than this, this application also supports traditional ordering system in
which customer has to wait for their order to be prepared. This application also provides
two more options either dine-in or take away. If customers choose dine-in, he/she has to
check the availability of the table from the table chart first so that he/she can choose the
desired table if available. In the take-away module, the order will be prepared and packed
for the customer so that he/she will visit and take their order after paying. Customer can
also pay through online transfer. After placing order customer will get some time to
cancel their order. If customer cancels their order he/she will get some penalty. Otherwise
order will be confirmed.
All the food details will be displayed according to the specific categories. When
customers click on the specific food he/she will be displayed with all the food details like
picture, price, calories, protein, and food ingredients.
The manager side in this application will also provide couple of features to the manager
of the café/restaurant so that it becomes easy for manager to manage. Manager can
register the customer as well as chef or other staff working. In the order module manager
will see how much orders he received, how much are in pending and so on. First received
orders will be confirmed by the manager and then it will pass to the chef module to
prepare. Manager also can update, add and remove the food category list by adding their
information to it. In the table chart module, manager will change the status of the table
either available or not so that it will display to customer to take the decision.
Chef module will help the chef to see how much he has to prepare. The confirmed orders
from the manager will displays to the chef module and chef will prepare those orders.
Chef can also see the orders confirmed by the customers and can see what he has to
prepare. All the working of the system will be easy to use for all the users to manage the
orders in an efficient manner.
1.2 Background:
As world is now become the house of technology and every business is now trying to
moving towards the usage of technology. Food industry is one of the major industries in
the world and food is the one of the common element of our daily life which we need to
live. Technology used in the food industry now becomes very much popular among
people and it provides ease to reduce their hunger. Here we are presenting the food
ordering mobile application named “Eatray” which will help the customer to fulfill their
hunger and to the manager/owner to run their business smartly. The main idea behind this
project is to provide pre-order facility to the customer so that customer can pre-book their
order before visiting to the café/restaurant. This will save the time of the customer as well
as helps the manager/owner to manage their customer services. Number of applications
are running through which we can order our food but they are not providing the facility of
order the food before visiting the outlet. Furthermore this smart ordering application will
change the user experience from traditional ordering system to the technical ordering
system using mobile or tablets devices.
11 The University of Lahore, Chenab Campus
Eatray (Food Ordering App)
________________________________________________________________________
In different cafe's customers comes and place their order by menu cards. They have to
wait for their order until their food is served. Time management is the major issue for the
customers as well as for the management. In the working systems customer order the food
and has to wait for this to be prepare also for management to handle the multiple orders.
Other than this, if customer visit to the café/restaurant and he/she found that the table is
not available, this will become very much disappointed for the customers and also leave
bad impression because there is no such system which will give the information about the
tables either available or not.
Technology is now entered almost every field in our life, but still its effect is not yet that
much in the food industry, especially the food serving outlets including restaurants,
hotels. Even today, many of the restaurants follow the traditional pen and paper method to
take and manage orders, which wastes a lot of time of both, the customer and the
restaurant. This mobile app will be created for the small Café/Restaurant in which
customers can order their food in different ways. This mobile app will help the customers
to customize their own tray. Customer can choose the food which they want to have in
their tray. Other than that customers can cancel their order if they have changed their
mind. The main idea behind this project is to provide pre-order facility to the customer so
that customer can pre-book their order before visiting to the café/restaurant. This will
save the time of the customer as well as helps the manager/owner to manage their
customer services. Rather than this, this application also supports traditional ordering
system in which customer has to wait for their order to be prepared.
2.1.1 Websites
Many food chain companies are using websites to engage the customers by providing
online ordering. But due to the increasing number of smartphone users, a major
decrease in the use of websites for food ordering has observed. This is because
websites are far more complex to use rather than mobile applications.
2.2.1 Tossdown
2.2.2 Supermeal
It has all the usual features like menus, special deals and photos from various restaurants,
prices, delivery / delivery options and locations. You can also get discounts and earn
points when ordering online. You can rate and review restaurants and food based on your
knowledge. In addition to ordering food and paying cash on delivery, you can also see a
list of nearby locations that offer exit orders. A complete detail of how to prevent
accidents and losses caused by technology can be found in the literature [1]
ii. Table module is not available customer cannot check the table availability.
2.2.3 Olaround
This smartphone easy to use app allows users to find food outlets near the city that offer
deals and discounts and get those discounts by scanning code. After collecting key
punches, you will have the right to collect some special rewards called 'kicks' for each
restaurant or product. Further information on how to prevent accidents and losses caused
by technology can be found in the literature [1]
2.2.4 Eatoye
Eatoye is a Pakistani startup that was discovered by Rocket Internet a few months ago.
Since then, the app has gotten better than ever! They offer a variety of restaurants with
their latest deals and promotions while also offering home delivery. The app also helps
you find nearby restaurants that offer home delivery services. So you don't have to worry
about finding restaurants or delivering them when you're in an unfamiliar place.
Additionally, the app provides the ability to book a table so you don’t have to worry
about getting a seat. More information on how to prevent accidents and losses caused by
technology can be found in the literature [1]
ii. There is no food tracking system. Customers cannot track their order.
2.2.5 Deliveroo
Deliveroo is a food delivery business which is based in London; it works in more than
200 cities across the country. It is the most famous food delivery app across Europe. It let
the customers to order food from restaurant that don’t have a set-up of their own and
charges a fee from the customer and the restaurant for the service. Users charged as per
their order, whereas restaurants have to pay a commission. Further detail of how to
prevent accidents and losses caused by technology can be found in the literature [1]
2.2.6 MenuDrive
This is the best option for restaurants looking to create a product ordering experience on
their website. To make a good use out of it, you can send menu of your choice, photos
and other related information directly to MenuDrive and they will create a special menu
for you. You can choose from different payment platforms that provided to you and
connect them to your point of sale or email system to match orders. The monthly plan
starts at $ 90. Further information on how to prevent accidents and losses caused by
technology can be found in the books [2]
2.2.8 ChowNow
This app and the online application are implemented using all formats that your
customers may be using. You can set it up so that people can place orders on your
website, Facebook page and mobile app. So if customers of your restaurant are likely to
use their mobile devices or social media to place orders, ChowNow may be the way to
consider it. The annual plan starts at $ 119 per month, with credit card processing fees.
Full details on how to prevent accidents and losses due to technology can be found in the
literature [2]
2.2.9 Upserve
Upserve is an excellent restaurant system that manages and includes options for bars,
wineries, cafes, bakeries and more. The online ordering system of the company is
implemented with its own point-of-sale system, payment service and mobile application.
In small restaurants, prices start at $ 99 per month. Further more information on how to
prevent accidents and losses from technology, see the literature in the book.[2]
2.2.11 Restolabs
Restolabs provides an online restaurant ordering program full of helpful features,
including Facebook ordering, multilingual support, and real-time statistics. It's a
compatible interface that allows you to access your menu and directly copy and paste
widgets into your website. The basic package starts at $ 45 per month. More information
on how to prevent accidents and loss caused by technology can be found in the book.[2]
2.2.12 NetWaiter
NetWaiter is an online restaurant marketing platform with integrated online
programming. You can use it to create your custom mobile app and order widget for your
website. The monthly plan, which includes online orders, starts at $ 100 per month. More
information on how to avoid accidents and losses caused by technology can be found in
the books. [2]
Requirement analysis of our application covers the three most important concepts which
are formulation, requirements gathering and analysis modeling of the system. While
doing formulation, the core need and purpose for application must be identified, and the
categories of users/analyst are to be defined. In the requirements gathering phase, the list
of functional and non-functional requirements is made and interaction scenarios written
from end-users point-of-view are developed. The main concept is to establish a basic
understanding of why the system was created, who will use it, and what resources it will
provide to its users.
Users of our system are divided into three categories which are customer, manager, and
chef, so functional requirements will be according to these three categories. Following is
the list of all the functional requirements of our proposed system.
a. The customers will register themself in the application.
b. Manager will register chef or other staff.
c. Customer must be logged into the application.
d. Customer will be able to select the desired category of food and add to the tray.
e. Customer can add minimum 3 and maximum 8 food items from the food list to the
tray.
f. Customer can choose either pre-order or in-restaurant order.
g. Customer should be in the range if he/she chooses the pre-order option.
h. Customer can choose dine-in or takeaway to receive order.
i. Customer should choose the table number in the case of dine-in.
j. Customer can see the table chart to check the availability of the table.
k. Customer can increase the quantity of food in the tray.
l. Customer can pay by online money transfer.
m. Customer can cancel the order.
n. There should be amount of penalty deducted in case or canceling order.
o. Manager can manage the food category list either update, add or delete.
p. Manager can also manage the customer registration.
q. Manager can manage the orders received from the customer.
r. Confirmed orders will send to the chef.
s. Manager will change the status of the orders as well as of tables.
t. Chef will login into the application.
a. Performance
i. The application must be interactive for user and fewer delays are involved. In
every action-response of the system, there is no immediate delay. In the case of
new activities, it must not take more than 2 seconds to start an activity.
b. Reliability
i. System must take System must use a database where data should be synchronized
continuously to all connected users.
c. Security
i. Application must require login to send/receive requests.
ii. Email/Username should be unique for each user.
d. Usability
i. The interface must be attractive.
ii. Application must be easy to learn and use.
iii. The application must have consistent interfaces.
e. Availability
i. The system must be available 24/7 to all users.
Waterfall-Model
Description
The waterfall model in the software development activity is a relatively linear sequential
design method for specific areas of engineering design. In software development activity,
it is better to choose less iterative and flexible approaches, as progress flows in largely
one direction just like waterfall means downwards, through the phases of conception,
initiation, analysis, design, construction, testing, deployment and maintenance. As shown
in Figure 1 the Waterfall Model
4.1 Design
Design of software is a creative activity in which we identify software components and
their relationships, according to the requirements of the end-users. In this chapter
different diagrams like use case diagram, architecture diagram, class diagrams, and
sequence diagram are included which explains the detailed working and components of
our project.
Last Updated By: Saqlain Naeem Butt Last Updated Date: 12.02.2021
Actors: Customer
Exceptions: 1. The user has forgotten his/her username, password, or both, and
clicks the "Forgot Password?" link
Priority: High
This use case explains the manager module functionality of the application.
4. The manager click on the save button and data is saved in the
database.
5. The manager can log out after completing his task.
6. The system checks that the Username is already in use or not.
If not, the system will displays the new account confirmation
page.
Alternative Flows:
Exceptions: The manager already registered in the system.
Last Updated By: Saqlain Naeem Butt Last Updated Date: 12.02.2021
Actors: Chef
Description: This use case describes how chef will manage his dashboard.
Priority: High.
4.3 Verification
Verification of software includes mainly testing to check either the actual results match
the expected results or to make sure that the software system is defect and bug free. It
covers the execution of a software component or system component to evaluate one or
more properties of interest.
Different modules of this application are being tested; the following is the detail of
testing.
4.3.1 If User clicks on login when correct Phone number and password
entered.
Test Data:
Steps: Steps for carry out this test. See the steps formatting rules
below.
1. Open login activity.
2. Enter Phone number/username.
3. Enter password.
4. Press the login button.
Expected Result: Login succeeds.
4.3.2 If User clicks on login when incorrect Phone number and pass
Test Data:
Steps: Steps to carry out this test. See the steps formatting rules
below.
1. Open login activity.
2. Enter the incorrect Phone number. OR
3. Enter password.
4.Press the login button
Expected Result: Invalid Phone number /password.
Status: Pass.
4.3.3 If User clicks on login when Phone number and pass fields are
empty
Test Data: Use any character Except special case character e.g. (@, ~).
Steps: Steps for carry out this test. Check the steps formatting rules
below.
1. First open the login page.
2. Press login button by leaving the user name and password
Status: Pass.
Pre-Requirement User must login before saving or updating data into the
database.
Test Data:
Steps: Steps to carry out this test. See the steps formatting rules
below.
1. Login.
2. Select any data field.
3. Don’t fill fields.
4. Users click on the save button.
Expected Result: Update/Save failed
Status: Pass.
Test Data: Use any character Except special case character e.g. (@, ~).
Steps: Steps to carry out this test. See the steps formatting rules
below.
1. Login.
2. Select the Profile section.
3. Fill all Fields.
4 User clicks on the update button.
Expected Result: Update failed
Status: Pass.
Test Data: Use any character Except special case character e.g. (@, ~).
Steps: Steps to carry out this test. See the steps formatting rules
below.
1. Open Student activity.
4. Click on the sign-in button.
Expected Result: Sign in failed. Validation Summary shows that email or
password are not correct
Actual Result: Signup failed. Validation Summary shows that email or
password is not correct.
Status: Pass.
Steps: Steps to carry out this test. See the steps formatting rules
below.
1. Open category.
2. Select food from category.
3. Add food to category.
Expected Result: The food will add to the tray.
Status: Pass.
Steps: Steps to carry out this test. See the steps formatting rules
below.
1. Open tray which was created.
2. Click on place order button.
3. Select the order method.
4. Click on save button.
Expected Result: Order should be placed
Status: Pass.
Test Data:
Steps: Steps to carry out this test. See the steps formatting rules
below.
1. Login to the system.
2. Click on table Chart button.
Expected Result: Table chart displayed
Status: Pass.
Test Data:
Status: Pass.
Status: Pass.
Status: Pass.
Status: Pass.
Chapter 5: Results
Figure 34 Confirmation
5.1.15 My tray
Figure 35 Tray