SlideShare a Scribd company logo
“Food Delivery Application”
A
Minor Project Report
Submitted in partial fulfillment of the requirement for the award of Degree
of Bachelor of Technology in Computer Science and Engineering Submitted to
RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA BHOPAL (M.P)
Project Guide Submitted By
Dr.Kailash Bandhu Ashwin Bicholiya(0875CS171030)
Aishwary Joshi(0875CS171012)
Arjun Soni(0875CS171026)
Dipendra kag(0875CS171042)
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
ACROPOLIS TECHNICAL CAMPUS,
INDORE (M.P.) 452020
2019-2020
ii
iii
Declaration
I hereby declared that the work, which is being presented in the project entitled
“FoodTukk(Food Delivery App)” partial fulfilment of the requirement for the award of
the degree of Bachelor of Engineering, submitted in the Department of Computer
Science & Engineering at Acropolis Technical Campus, Indore is an authentic record
of my own work carried under the supervision of “Dr.Kailash Bandhu”. I have not
submitted the matter embodied in this report for award of any other degree.
Ashwin Bicholiya(0875CS171030)
Aishwary Joshi(0875CS171012)
Arjun Soni(0875CS171026)
Dipendra kag(0875CS171042)
iv
Project Approval Form
I hereby recommend, that the project prepared under my supervision titled by FoodTukk
be accepted in partial fulfilment of the requirement for the degree of Bachelor of
Engineering in Computer Science & Engineering.
Dr. Kailash Bandhu
Supervisor
Recommendation concurred in
Prof. Radha shinde
Section In-charge
Prof. Nisha Bhati
Section In-charge
Dr. Kailash Bandhu
Project Coordinator
v
vi
Acropolis Technical Campus
Deparment of Computer Science & Engineering
Certificate
The project work entitled “FoodTukk” submitted by Ashwin Bicholiya(0875CS171030),
Aishwary Joshi (0875CS171012), Arjun Soni (0875CS171026), Dipendra Kag
(0875CS171042) is approved as partial fulfillment for the award of the degree of
Bachelor of Engineering in Computer Science & Engineering by Rajiv Gandhi
Proudyogiki Vishwavidyalaya, Bhopal (M.P.).
Internal Examiner External Examiner
Name:………………. Name: ……………..
Date: …./…/……….. Date: …./…/………..
vii
Acknowledgement
With boundless love and appreciation, we would like to extend our heartfelt gratitude and
appreciation to the people who helped us to bring this work in reality. We would like to
have some space of acknowledgement for them.
Foremost, our would like to express our my sincere gratitude to our supervisor, Dr.
Kailash Bandhu whose expertise, consistent guidance, ample time spent and consistent
advices that helped us to bring this study into success.
To the project Coordinator Dr. Kailash Bandhu for their constructive comments,
suggestions, and critiquing even in hardship. I also want to thank Section Incharge Prof.
Radha Shinde and Prof. Nisha Bhati for letting my work be an enjoyable moment and
for your brilliant comments and suggestions.
To the Prof. Prashant Lakkadwala, Head, Department of Computer Science &
Engineering for his favourable responses regarding the study and providing necessary
facility.
To the honourable Dr. Sanjay T. Purkar, Principal, ATC, Indore for his unending
support, advises and effort to make possible.
Finally, we would like to pay our thanks to faculty members and staff of Department of
Computer Science & Engineering for their timely help and support.
We also like to pay thanks to our parents for their eternal love, support and prayers.
Without them it is not possible.
Ashwin Bicholiya(0875CS171030)
Aishwary Joshi(0875CS171012)
Arjun Soni(0875CS171026)
Dipendra kag(0875CS171042)
viii
Abstract
Mobile applications can be one of the best ways to keep consumers engaged with a brand
as they are on the move. With the increase in demand for smart phones and efficiency of
wireless networks, the demand for mobile applications has increased incredibly. Android
is one of the most popular open source platforms that offer the developer full access to
the framework API's so as to build innovative applications. Our project “FoodTukk” is an
android application which helps the user to order the desired food from the restaurants .
This projects overall gives the easier way to order the desired food from home bethe
restaurant which will save time with its simple and effectiveness. The main aim of this
project is to build an Android application that helps the users to order food from home
with specified restaurants and according to the specified tastes. The users can register and
login to the app by providing their details. The users can order the food as their desire and
they can pay through Cash On Delivery or Credit Card/Debit Card.The admin will have
control over the entire system. He can view everyone's profile associated with the
restaurant. The admin can view records of users and as well all the users associated to the
app have to register. Only registered people can have access to order.
The users should get registered to order the food. The user can view the restaurants and
order the available items through the application. They can also view the restaurant's
profiles only to know their specialization, their records so that they can approach those
specific restaurant to get food.
ix
x
Table of Content
Chapter 1: Introduction....................................................................................................... 1
1.1 Rationale ................................................................................................................... 1
1.2 Goal........................................................................................................................... 2
1.3 Objective ................................................................................................................... 3
1.4 Methodology............................................................................................................. 3
1.5 Role ........................................................................................................................... 5
1.6 Contribution of Project ............................................................................................. 5
1.6.1 Market Potential................................................................................................. 5
1.6.2 Innovativeness.................................................................................................... 5
1.6.3 Usefulness .......................................................................................................... 6
1.7 Report Organization.................................................................................................. 6
Chapter 2: Requirement Engineering.................................................................................. 7
2.1 Requirement Collection ............................................................................................ 8
2.1.1 <Collection Type 1> .........................................Error! Bookmark not defined.
2.1.2 <Collection Type N> ........................................Error! Bookmark not defined.
2.2 Requirements ............................................................................................................ 9
Chapter 3: Analsis & Design ............................................................................................ 12
3.1 Use-case Diagrams.................................................................................................. 12
3.2 Activity Diagrams................................................................................................... 14
3.3 Sequence Diagrams................................................................................................. 17
3.4 Class Diagrams ....................................................................................................... 18
3.5 Data Design............................................................................................................. 22
3.5.1 Schema Definitions.......................................................................................... 25
3.5.2 Integrity Constraints......................................................................................... 26
xi
3.6 System Architecture................................................................................................ 27
Chapter 4: Construction.................................................................................................... 29
4.1 Implementation ....................................................................................................... 29
4.1.1 Implementation Details.................................................................................... 29
4.2 Testing..................................................................................................................... 30
4.2.1 White Box Testing ........................................................................................... 31
4.2.2 Black Box Testing............................................................................................ 32
Conclusion & Future Works…………
Appendix A
1
Chapter 1
Introduction
FoodTukk : Food Delivery App is a application designed primarily for use in the food
delivery industry. This application will allow restaurants, hotel, café and street vendors to
increase scope of business by reducing the labor cost involved. Application presents an
interactive and up-to-date menu with all options available in an easy to use manner.
Customers can signup and signin in the app while they can use Google Signin to use the
app. Customers can choose one or more orders from the desired restaurants. If Customer
wants to remove one of the order then there is a drag and drop option which will help
customers to remove the order. After ordering customer will land to cart option and then
to the checkout where they can pay via Cash On Delivery or Credit Card/Debit Card.
After Successful Order the Customers can see the Map where they can track the order
and can see the time of the orders to be delivered. Once the order is placed it is entered in
the database and retrieved in pretty much real time.
This Application will allow Restaurants to register and login and add the details for their
restaurants like restaurant name, restaurant image, food name, food price and food
images which will be shown to the Customers.
This Application will have Admin Login Where the admin can operate whole app and all
the details of customers and restaurants. Admin can Update, Add and Delete
Informations.
1.1 Rationale
The top reasons why Food Delivery Application. The reason are so many restaurants are
turning to online ordering is that the huge demand is there. Customers want the
convenience of ordering a meal and having it delivered to their home or office. Offering
the service means you stay competitive in the restaurant industry
2
1.2 Goal
Mobile applications can be one of the best ways to keep consumers engaged with a brand
as they are on the move. With the increase in demand for smart phones and efficiency of
wireless networks the demand for mobile applications has increased incredibly. Android
is one of the most popular open source platforms that offers the developers full access to
the framework API's so as to build innovative applications
The main aim of this project is to build an Android application that helps the users to
order food from the specified restaurants and according to the specified tastes The main
features provided by the FoodTukk application are as follows :
• Customers can signup and signin and also they can signin via Google.
• Restaurant can signup and sigin.
• Provides the searching facilities based on various factors. Such as Food item, Cart,
Order, Customer.
• It also manage the Delivery details online for Order details, Customer details, Food
item.
• It tracks all the information of Category, Delivery, Order etc
• Manage the information of Category.
• Shows the information and description of the Food item, Cart.
• To increase efficiency of managing the Food item, Category.
• It deals with monitoring the information and transactions of Order.
• Manage the information of Food item.
• Manage the information of Order.
3
1.3 Objective
The main objective of the Project on Online Food Delivery Application is to manage the
details of Food item, Category, Cart, Order, Customer. It manages all the information
about Food item, Delivery, Customer, Food item. The project is totally built at user,
restaurant and administrator end and thus only the administrator is guaranteed the access.
The purpose of the project is to build an application program to reduce the manual work
for managing the Food item, Category, Delivery, Cart. It tracks all the details about the
Cart, Order, Customer.
1.4 Methodology
The Methodology Adopted is “Agile Methodology”.
The Agile Method and methodology is a particular approach to project management that
is utilized in software development. This method assists teams in responding to the
4
unpredictability of constructing software. It uses incremental, iterative work sequences
that are commonly known as sprints.
A sprint is a period of time allocated for a particular phase of a project. Sprints are
considered to be complete when the time period expires. There may be disagreements
among the members of the team as to whether or not the development is satisfactory;
however, there will be no more work on that particular phase of the project. The
remaining phases of the project will continue to develop within their respective time
frames.
1.4.1 The General Principles of the Agile Method
• Satisfy the client and continually develop software.
• Changing requirements are embraced for the clients competitive advantage.
• Concentrate on delivering working software frequently. Delivery preference will be
placed on the shortest possible time span.
• Developers and business people must work together throughout the entire project.
• Projects must be based on people who are motivated. Give them the proper environment
and the support that they need. They should be trusted to get their jobs done.
• Face-to-face communication is the best way to transfer information to and from a team.
• Working software is the primary measurement of progress.
• Agile processes will promote development that is sustainable. Sponsors. developers,
and users should be able to maintain an indefinite. constant pace.
• Constant attention to technical excellence and good design will enhance agility.
Simplicity is considered to be the art of maximizing the work that is not done. and it is
essential.
• Self-organized teams usually create the best designs.
5
1.5 Role
Role of individual member may in each phase of software development or anything else.
Team
Members
Requirment
Gatherings
Analysis Design Implementation Testing Documentation
Ashwin
Bicholiya
✓ ✓ ✓ ✓ ✓ ✓
Aishwary
Joshi
✓ ✓ ✓ ✓ ✓
Arjun
Soni
✓ ✓ ✓ ✓
Dipendra
Kag
✓ ✓ ✓ ✓ ✓
1.6 Contribution of Project
Refer to Synopsis Format.
1.6.1 Market Potential
The food delivery application has huge market demand as many apps are growing in food
delivery industry. As people nowadays like to order directly from the applications. In
upcoming future the market value of our application is only supposed to increment.
1.6.2 Innovativeness
First of all there is a huge demand of this food delivery applications as all the restraunts
are shifting towards food delivery applications. One can easily get food within minutes
by just ordering from home. Food deliveries are very cheap and fast as compared to
having maids for meals. As there exist very few number of food delivery applications in
the market, we tend to propose our interesting food delivery application. It is an
innovative idea because people loves to order from a verity of restraunts bethe home.
6
1.6.3 Usefulness
By the help of our application one can have their meals within no time of ordering.It can
save enormous amount of people’s time as many a times people who are having 9 to 5
job often skip their meals.
1.7 Report Organization
The remaining section of the report is structured as follows. Chapter 2 provides detailed
business and technical requirements. Different steps taken for information collection are also
discussed in this chapter. Chapter 3 provides details analysis…………….. and so on.
7
Chapter 2
Requirement Engineering
Requirement Engineering is the process of defining, documenting and maintaining the
requirements. It is a process of gathering and defining service provided by the system.
Requirements Engineering Process consists of the following main activities:
 Requirements elicitation
 Requirements specification
 Requirements verification and validation
 Requirements management
Requirements Elicitation:
It is related to the various ways used to gain knowledge about the project domain and
requirements. The various sources of domain knowledge include customers, business
manuals, the existing software of same type, standards and other stakeholders of the
project.
The techniques used for requirements elicitation include interviews, brainstorming, task
analysis, Delphi technique, prototyping, etc. Some of these are discussed here. Elicitation
does not produce formal models of the requirements understood. Instead, it widens the
knowledge domain of the analyst and thus helps in providing input to the next stage.
Requirements specification:
This activity is used to produce formal software requirement models. All the
requirements including the functional as well as the non-functional requirements
and the constraints are specified by these models in totality. During specification,
more knowledge about the problem may be required which can again trigger the
elicitation process.
The models used at this stage include ER diagrams, data flow diagrams(DFDs),
function decomposition diagrams(FDDs), data dictionaries, etc.
Requirements verification and validation:
Verification: It refers to the set of tasks that ensure that software correctly implements a
specific function.
Validation: It refers to a different set of tasks that ensure that the software that has been
built is traceable to customer requirements.
If requirements are not validated, errors in the requirements definitions would propagate
to the successive stages resulting in a lot of modification and rework.
The main steps for this process include:
 The requirements should be consistent with all the other requirements i.e no two
requirements should conflict with each other.
 The requirements should be complete in every sense.
 The requirements should be practically achievable.
Reviews, buddy checks, making test cases, etc. are some of the methods used for this.
8
Requirements Management:
Requirement management is the process of analyzing, documenting, tracking, prioritizing
and agreeing on the requirement and controlling the communication to relevant
stakeholders. This stage takes care of the changing nature of requirements. It should be
ensured that the SRS is as modifiable as possible so as to incorporate changes in
requirements specified by the end users at later stages too. Being able to modify the
software as per requirements in a systematic and controlled manner in an extremely
important part of the requirements engineering process.
2.1 Requirement Collection
2.1.1 IDE : Integrated Development Environment
An IDE typically contains a code editor, a compiler or interpreter, and a debugger, accessed
through a single graphical user interface (GUI). The user writes and edits source code in the code
editor. The compiler translates the source code into a readable language that is executable for a
computer. And the debugger tests the software to solve any issues or bugs.
2.1.2 Database:
A database is a collection of information that is organized so that it can be easily accessed,
managed and updated. Computer databases typically contain aggregations of data records
or files, containing information about sales transactions or interactions with specific
customers.
2.1.3 SDK Software Development Kit:
A software development kit (SDK) is a collection of software development tools in one
installable package. They ease creation of applications by having compiler, debugger and
perhaps a software framework. They are normally specific to a hardware platform and
operating systems combination.
2.1.4 Programming Language:
A programming language is a formal language, which comprises a set of instructions that
produce various kinds of output. Programming languages are used in computer
9
programming to implement algorithms. Most programming languages consist of instructions
for computers.
2.1.4 OS (Operating System):
An operating system is system software that manages computer hardware, software
resources, and provides common services for computer programs.
2.2 Requirements
2.2.1 Functional Requirements:
• Application can be run on the wifi or cellular network.
• Firebase can be used to stored the data of customer and restaurant & displayed those
data to each other.
• Restaurant can be searched by user.
• User can order the food.
• User can pay via Cash On Delivery or Credit/Debit Card.
• User can directly call to restaurant.
2.2.2 Non-Functional Requirements:
For developing the application the following are the Hardware Requirements.
Processor: Intel core i3 or higher
RAM: 4 GB
Space on disk: minimum 10GB
10
Flutter:
Flutter is Google's UI toolkit for crafting beautiful, natively compiled applications for mobile, web,
and desktop from a single codebase. Flutter works with existing code, is used by developers and
organizations around the world, and is free and open source.
2.2.3 Visual Studio Code:
Visual Studio Code is a code editor redefined and optimized for building and debugging modern
web and cloud applications. Visual Studio Code is free and available on your favorite platform -
Linux, macOS, and Windows.
11
2.2.4 Android Studio:
Android Studio is the official integrated development environment (IDE) for Google's Android
operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for
Android development. It is available for download on Windows, macOS and Linux based
operating systems.
2.2.5 Firebase:
Firebase is a Backend-as-a-Service — BaaS — that started as a YC11 startup and grew
up into a next-generation app-development platform on Google Cloud Platform.
12
... Firebase frees developers to focus crafting fantastic user experiences. You don't need
to manage servers. You don't need to write APIs.
2.2.6 Dart Programming Language:
Dart is a client-optimized programming language for apps on multiple platforms. It is
developed by Google and is used to build mobile, desktop, backend and web
applications. Dart is an object-oriented, class defined, garbage-collected language using
a C-style syntax that transcompiles optionally into JavaScript.
Chapter 3
Analysis & Design
3.1 Use-case Diagrams
A use-case diagram is a graphical depiction of the interaction among the elements of a
system. A use-case is a methodology used in system analysis to identify, clarify, and
organize system requirements. In this context, the term "system" refers to something
being developed or operated, such as a mail-order product sales and service web site Use
case diagrams are employed in UML, a standard notation of real world objects and
13
systems. System objectives can include planning overall requirement, validating a
hardware design, testing and debugging a software product under development creating
an online help reference, or performing a consumer-service-oriented task. The main
components of use-case are:
• Actor.- something with a behavior or role, e g., a person, another system, organization.
• Scenario.- a specific sequence of actions and interactions between actors and the
system.
• Use case:- a collection of related success and failure scenarios, describing actors using
the system to support a goal.
A use case diagram captures the actors and the role they perform in a system. It depicts
the roles performed by each actor. The three actors for this project are Admin, Customers
and Restaurant. Customers and Restaurant can register, login and view their own profile
and each other profile respectively. And they can update their profile. Customers can
gives feedback and restaurant can view feedback, both can change their password if they
required.
A use-case is a methodology used in system analysis to identify , clarify, and organize
system requirements. In this context, the term "system" refers to something being
developed or operated , such as a mail-order product sales and service web site. Use case
diagrams are employed in UML, a standard notation of real-world objects and systems.
14
Figure 3.1:Use-caseDiagramof FoodTukk
3.2 Activity Diagrams
Activity diagram is another important diagram in UML to describe dynamic aspects of
the system. Activity diagram is basically a flow chart to represent the flow form one
activity to another activity. The activity can be described as an operation of the s drawn
from one operation to another. This flow can be sequential, system. So the control flow is
branched or concurrent. control by usin Activity diagrams deals with all type of flow g
different elements like fork, join etc.
When to use an Activity Diagram:-
• When describing work flow across many use cases.
15
• When analyzing a use case, and before methods are assigned to symbols.
• When dealing with multi-threaded applications.
Figure 3.2:Activity Diagramof the Login
16
Figure 3.3: Activity diagram for Google Login
17
Activity diagram for FoodTukk application
3.3 Sequence Diagrams
A Sequence diagram is an interaction diagram that shows how objects operate with one
another and in what order It is a construct of a message sequence chart it shows object
interaction arranged in time sequence It depicts the objects and classes involved in the
scenario and the sequence of messages exchanged between the objects needed to carry
Oct the functionality of the scenano Sequence diagrams are typically associated with use
case realizations in the Logical View of the system under develoPment. Sequence
diagrams are sometimes called event diagrams or event scenarios. A sequence diagram
shows as parallel vertical lines (lifelines).
In this application we use the sequence diagrams consisting main objects are user, system
and restaurant The working of the objects done step by step.
18
Figure 3.3 : Sequence Diagram of the FoodTukk
3.4 Class Diagrams
A class is a description of a set of object They share the same attributes, operations,
relationships and semantics. The package in which class name is a simple one or it may
prefix by the that class lives, An Defaults values can attributes is a named property of a
class be assigned to attrib service that can be req attributes An operation is the
implementation of a uested from any object of the class to affect behavior.
A responsibility is a contract or an obligation of a class. Visibility specifies whether
attributes, operations can be used by other classifiers. In this application we use the class
diagrams consisting main classes and their subclasses. The attributes of those classes are
defined in second section and the functions are defined in the third section of this class.
The main home class is connected by the other classes through the aggregation
relationship and those classes are connected by the sub classes through the association
relationship. each class performing their own work. Home class having the aggregation
relationship with user registration, restaurant registration, user login, restaurant login,
admin login Those subclasses having the association relationship with the other sub
19
classes and they are view profile, feedback, change password, view order, add offer,
update offer, view restaurant, send message.
Class Description
There are three ,nain classes -
The Admin can view the profile of customers as well as restaurants and also can update
and delete the profile of customers, restaurants and its own. He/she can also view the
offers which is provided by restaurants and also view the feedbacks which is provided by
the customers to the restaurants. The Customer have to registered on this application and
they can view the profile of them and update it They can view the offers which is
provided by the particular restaurant and also customer can call the restaurant and book
the table or order the food and also give their opinions about the restaurants by giving a
rating and writing a review.
Figure 3.4 : Class Diagram of the FoodTukk
20
3.5 ER Diagram
E-R Model is a popular high level conceptual data model. This model and its variations
are frequently used for the conceptual design of database application and many database
design tools employ its concept.
A database that confirms to an E-R diagram can be represented by a collecton of tables in
the relational system.
The mapping of E-R diagram to the entities are:
• Attributes
• Relations
Many-to-many
Many-to-one
One-to-many
One-to-one
21
• Weak entities
• Sub-type and super-type
The entities and their relationshops between them are shown using the following
conventions.
• An entity is shown in rectangle.
• A diamond represent the relationship among number of entities.
• The attributes shown as ovals are connected to the entities or relationship by lines.
• Diamond,oval and relationships are labeled.
Figure 3.5 : ER Diagram of the FoodTukk
22
3.6 Data Flow Daigram
A dataflow diagram is a graphical representation of the flow of data between process. In
other words, it shows:
• What goes in
• How it is changed
• What comes out
The following Symbols are generally used:
• Data flow is represented by a labeled arrow
• Process are represented by labeled circles
• Information source and sinks are represented by boxes
Context Level DFD (0 Level DFD) :
23
1 Level DFD :
24
2nd
Level DFD :
25
3.7 Data Design
3.7.1 Schema Definitions
We have used NoSQL database so the Schema is in the format of JSON.
User {
User id:”value”[
“value”,
“value”
]
Email id: “value”
Password: “value”
Name: “value”
}
Restaurant {
Restaurant id: “value” [
“value”,
“value”
]
Email id: “value”
Password: “value”
Name: “value”
}
RestaurantData {
RestaurantData: “value” [
“value”
26
“value”
]
Amount: “value”
FoodName: “value”
ImageUrl: “value”
RestaurantName: “value”
}
3.7.2 Integrity Constraints
● We are using Firebase hence the data that is requested or updated are stored in
device offline then if there is an internet connection the data is synchronized with
the cloud.
● It also has auto re-attempt functionality that retries automatically if there is some
issue with the internet or server.
27
3.8 System Architecture
The structure of the system can be divided into 3 main logical components:
• Food Delivery App - provides the functionality for customers to place their order and
supply necessary details.
• Menu Management - allows the restaurant to control what can be ordered by the
customers
• Order Retrieval System - This is a final logical component. Allows restaurant to keep
track of all orders placed.
This component takes care of order retrieving and displaying order information.
28
29
Chapter 4
Construction
4.1 Implementation
We decided to select food delivery application for our project as it is in heavy demand.
We have implemented our application by Dart programming language with the help of
Flutter SDK. For the implementation of database we have selected Firebase and for the
source code editor and automation tool we used VS Code.
4.1.1 Implementation Details
4.1.1.1 Software Details
For delevoping application following are the Software Requirements:-
Operating System: Windows 10
Language: Flutter SDK, Dart
Database: Firebase
Technologies used Flutter SDK, Dart, Firebase, Android Studio, Vs Code
Debugger: Android Dalvik Debug Monitor service
For running the application the following are the Software Requirements:
Operating System. Android 5.0 or higher versions
Network: Wi-Fi Internet or cellular Network 3
4.1.1.2 Hardware Details
Processor: Minimum 1 GHz
Memory (RAM): Minimum 2 GB
Hard Drive: Minimum 100MB
30
4.2 Testing
Testing is vital for the success of any software. no system design is ever perfect. Testing
is also carried in two phases. first phase is during the software engineering that is during
the module creation. second phase is after the completion of software. this is system
testing which verifies that the whole set of programs hanged together.
Testing Scope :
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design and code generation Once source code has been
generated, software must be tested to uncover and correct as many errors as possible
before delivery to the customer. Our goal is to design a series of test cases that have a
high likelihood of finding errors. That's where software-testing techniques come in to the
picture. These techniques provide systematic guidance for designing tests that
1. Exercise the internal logic of software components and
2. Exercise the input and output domains of the program to uncover errors in program
function, behavior and performance.
Testing of the software leads to the uncovering of errors in the software functional and
performance requirements are met. Testing also provides a good indication of software
reliability as software quality as a whole. The result of the different phases of testing are
evaluated and then compared with the expected results. If the errors are uncovered they
are debugged and corrected. A strategy approach to software testing has the generic
characteristics:
1. Testing begins at the module level and works "outwards° towards the integration
of the entire computer based system.
2. Different testing techniques are appropriate Testing and Debu at different points
of time.
3. Testing and Debugging are different activities, but debugging must be
accommodated in the testin, strategy A strategy for the software testing must
aCcon.m.dated low level tests that are necessary to verify that a small source code
31
segment is Pertbrining correctly according to the customer's requirements and that
of developer's expectations.
Testing Principle:
Testing is the process used to measure the quality of developed computer software
software is a Process designed to make computer code does that it was designed
to do and that does not do anything unintended. One of the primary causes of poor
program testing is the tact that most programmer begin with a false definition of
the term They might say testing Is the processed demonstrating that error are not
present.
1. The purpose of testing is to show that a program performs its intended
function correctly.
2. "Testing is a process of establish confidence that program does what it is
supposed to do ". this last statement are all based on false primes At the start
of testing, a program should not be merely tested to show that it work Rather
the test should start with the assumption that the program contains error and
the goal is to find as many error as possible.
4.2.1 White Box Testing
White box testing approach focus on the program control structure .Knowing the internal
working of program. test can be conducted to ensure that internal operations are
performed According to specification and all internal components have been exactly
exercised It examines the logic of the program by testing every path of the program.
White box testing improves its quality through condition testing winch attempts to find
errors in the following categories:
1. Boolean operator error
2. Boolean variable error
3. Relational operator error
32
Complexity of test and uncovered error is limited by the constrained scope establish for
unit testing The unit test is white box oriented, and the step can be conducted in parallel
for multiple components.
4.2.2 Black BoxTesting
Black box testing This approach locus on the functional requirements of the software
Knowing the specified function that a product has been designed to perform, tests can be
conducted that demonstrate each function is fully operational while at the same time
searching for errors in each function. Black box testing attempts to find errors in the
following categories
1. Incorrect or missing unction
2. Interface errors
3. Errors in database and external data base access.
Testing involves the various text and invalid entries in the name text box, trying to filling
of invalid entries in the flex grid, etc.
Test Case: N+1
Test Case: M
4.3:TestCases
4.3.1 Unit Testing
In unit testing, various modules have been tested individually. This has been done
manually to test if the expected result is actually seen on the screen. The following are
the test cases with the help of which the application has been tested.
Sr. No Test-case Description Expected Result Actual Result
1. On Load of Home Screen Take Minimum 5 sec Pass
2. On clicking Sign in as user Display the screen of User Pass
33
login
3. On clicking Sign in With Google Display all Google accounts
that logged in mobile device
Pass
4. On clicking the Food item Item Added in the cart Pass
5. On clicking the Next Button Display the Payment Option
Screen
Pass
6. On clicking Cash on Delivery Display the Map Screen Pass
7. On clicking Debit and Credit card
option
Display the Payment Screen Pass
8. On Clicking the Logout Button Profile get Logout Pass
9. On clicking Sign in as Restaurant Display the Screen of
Restaurant Login
Pass
10. On Clicking image Url, Restaurant
Name, Food Name & Amount
Take the above details. Pass
11. On clicking Submit Button Update the Details of
Restaurant Data On Server
Pass
12. On Clicking the Logout Button Profile get Logout Pass
Conclusion & Future Works
Conclusion:
This is our first, attempt in developing a mobile application which gave us a basic
understanding of development and challenges of mobile application development. The
main aim of the project is to provide an easy to use application for ordering food online
from specified restaurants. The application has been implemented and tested on real
devices. As far as we tried our best to make the application perfect and real application. It
34
allows customers to order the food and to track their order and directions from restaurants
and also it allows restaurant owners to manage orders from customers immediately
whenever he or she logged in into the system. Our experience in developing Online Food
Delivery App using smart phones shows the capabilities of wireless communication and
smart phone technology in fulfilling and improving business management and service
delivery. This system is convenient, effective , it's easy to install, cost-effective, flexible.
Future Work:
The application can be improved in many ways and can be extended to support more
devices like the tablets and iOS devices. In the upcoming days we can improve our
application by adding delivery page where the delivery boy can track the order of users.
Also we will add offer page where users can get the best deals on food.
35
Appendix A
<<Snapshots of the project>>
Main Page Google loginpage
36
Profile Screen Home page
37
Order page Side tab
38
View Cart Item removal
39
Empty cart Payment Screen
40
Credit/Debit card page Payment confirmnation page
41
Resturant Screen Resturant detail confirmation
42
Map
43
Firebase Authentication
Firebase Database

More Related Content

What's hot

Canteen automation system (updated) revised
Canteen automation system (updated) revisedCanteen automation system (updated) revised
Canteen automation system (updated) revised
rinshi jain
 
online movie ticket booking system
online movie ticket booking systemonline movie ticket booking system
online movie ticket booking system
Sikandar Pandit
 
Airline Reservation System Documentation
Airline Reservation System DocumentationAirline Reservation System Documentation
Airline Reservation System Documentation
Sanjana Agarwal
 
Online Shop Project Report
Online Shop Project ReportOnline Shop Project Report
Online Shop Project Report
Jayed Imran
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software Engineering
Lalit Pal
 
srs for railway reservation system
 srs for railway reservation system srs for railway reservation system
srs for railway reservation system
khushi kalaria
 
Final year project presentation in android application
Final year project presentation in android applicationFinal year project presentation in android application
Final year project presentation in android application
Chirag Thaker
 
e-commerce web development project report (Bookz report)
e-commerce web development project report (Bookz report)e-commerce web development project report (Bookz report)
e-commerce web development project report (Bookz report)
Mudasir Ahmad Bhat
 
Documentation of railway reservation system
Documentation of railway reservation systemDocumentation of railway reservation system
Documentation of railway reservation systemSandip Murari
 
Online Bus Reservation System
Online Bus Reservation SystemOnline Bus Reservation System
Online Bus Reservation System
A-Tech and Software Development
 
Online Restaurant Management System
Online Restaurant Management SystemOnline Restaurant Management System
Online Restaurant Management System
Khwaja Yunus Ali Medical University
 
Food Order Management System
Food Order Management SystemFood Order Management System
Food Order Management System
SheikhAmikUllahPrott
 
Final Year Project BCA Presentation on Pic-O-Stica
Final Year Project BCA Presentation on Pic-O-SticaFinal Year Project BCA Presentation on Pic-O-Stica
Final Year Project BCA Presentation on Pic-O-Stica
Sharath Raj
 
grocery management system
grocery  management systemgrocery  management system
grocery management system
pujithaboggarapu
 
SRS for Hospital Management System
SRS for Hospital Management SystemSRS for Hospital Management System
SRS for Hospital Management System
kataria Arvind
 
Online News Portal System
Online News Portal SystemOnline News Portal System
Online News Portal System
Rajib Roy
 
Online Food Ordering System Presentation
Online Food Ordering System PresentationOnline Food Ordering System Presentation
Online Food Ordering System Presentation
RohanRajMudvari
 
Online Bus Reservatiom System
Online Bus Reservatiom SystemOnline Bus Reservatiom System
Online Bus Reservatiom System
Nikhil Vyas
 
Passport automation system
Passport automation systemPassport automation system
Passport automation system
Koppula Sheryl
 
SRS For Online Store
SRS For Online StoreSRS For Online Store
SRS For Online Store
Ahsan Rizwan
 

What's hot (20)

Canteen automation system (updated) revised
Canteen automation system (updated) revisedCanteen automation system (updated) revised
Canteen automation system (updated) revised
 
online movie ticket booking system
online movie ticket booking systemonline movie ticket booking system
online movie ticket booking system
 
Airline Reservation System Documentation
Airline Reservation System DocumentationAirline Reservation System Documentation
Airline Reservation System Documentation
 
Online Shop Project Report
Online Shop Project ReportOnline Shop Project Report
Online Shop Project Report
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software Engineering
 
srs for railway reservation system
 srs for railway reservation system srs for railway reservation system
srs for railway reservation system
 
Final year project presentation in android application
Final year project presentation in android applicationFinal year project presentation in android application
Final year project presentation in android application
 
e-commerce web development project report (Bookz report)
e-commerce web development project report (Bookz report)e-commerce web development project report (Bookz report)
e-commerce web development project report (Bookz report)
 
Documentation of railway reservation system
Documentation of railway reservation systemDocumentation of railway reservation system
Documentation of railway reservation system
 
Online Bus Reservation System
Online Bus Reservation SystemOnline Bus Reservation System
Online Bus Reservation System
 
Online Restaurant Management System
Online Restaurant Management SystemOnline Restaurant Management System
Online Restaurant Management System
 
Food Order Management System
Food Order Management SystemFood Order Management System
Food Order Management System
 
Final Year Project BCA Presentation on Pic-O-Stica
Final Year Project BCA Presentation on Pic-O-SticaFinal Year Project BCA Presentation on Pic-O-Stica
Final Year Project BCA Presentation on Pic-O-Stica
 
grocery management system
grocery  management systemgrocery  management system
grocery management system
 
SRS for Hospital Management System
SRS for Hospital Management SystemSRS for Hospital Management System
SRS for Hospital Management System
 
Online News Portal System
Online News Portal SystemOnline News Portal System
Online News Portal System
 
Online Food Ordering System Presentation
Online Food Ordering System PresentationOnline Food Ordering System Presentation
Online Food Ordering System Presentation
 
Online Bus Reservatiom System
Online Bus Reservatiom SystemOnline Bus Reservatiom System
Online Bus Reservatiom System
 
Passport automation system
Passport automation systemPassport automation system
Passport automation system
 
SRS For Online Store
SRS For Online StoreSRS For Online Store
SRS For Online Store
 

Similar to Food delivery application report

Self checkout application report
Self checkout application reportSelf checkout application report
Self checkout application report
AshwinBicholiya
 
Object and pose detection
Object and pose detectionObject and pose detection
Object and pose detection
AshwinBicholiya
 
MSc Dissertation: Restaurant e-menu software on iPad
MSc Dissertation: Restaurant e-menu software on iPadMSc Dissertation: Restaurant e-menu software on iPad
MSc Dissertation: Restaurant e-menu software on iPad
Traitet Thepbandansuk
 
IT Audit - Internship Report
IT Audit - Internship ReportIT Audit - Internship Report
IT Audit - Internship Report
Aditya Jain
 
01 dissertation_Restaurant e-menu on iPad
01 dissertation_Restaurant e-menu on iPad01 dissertation_Restaurant e-menu on iPad
01 dissertation_Restaurant e-menu on iPad
Traitet Thepbandansuk
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Fruit Product Management System
Fruit Product Management SystemFruit Product Management System
Fruit Product Management System
saiyadsanobar
 
online books selling report shivant and nilesh.docx
online  books selling report shivant and nilesh.docxonline  books selling report shivant and nilesh.docx
online books selling report shivant and nilesh.docx
shivantGupta1
 
80686_Sukesh_Shetty_Sukesh_Shetty_6768625_M99EKM_948886_316244115
80686_Sukesh_Shetty_Sukesh_Shetty_6768625_M99EKM_948886_31624411580686_Sukesh_Shetty_Sukesh_Shetty_6768625_M99EKM_948886_316244115
80686_Sukesh_Shetty_Sukesh_Shetty_6768625_M99EKM_948886_316244115Sukesh Shetty
 
Fitness management application
Fitness management applicationFitness management application
Fitness management application
Rishabh Shukla
 
Blood pressure.pdf
Blood pressure.pdfBlood pressure.pdf
Blood pressure.pdf
SKma4
 
Social Media Strategy for Tata Docomo
Social Media Strategy for Tata DocomoSocial Media Strategy for Tata Docomo
Social Media Strategy for Tata Docomo
Aakriti Agarwal
 
SPORTSWEAR E-COMMERCE MOBILE APPLICATION.pdf
SPORTSWEAR E-COMMERCE MOBILE APPLICATION.pdfSPORTSWEAR E-COMMERCE MOBILE APPLICATION.pdf
SPORTSWEAR E-COMMERCE MOBILE APPLICATION.pdf
TomTom149267
 
Final-project-Report.pdf
Final-project-Report.pdfFinal-project-Report.pdf
Final-project-Report.pdf
MahadiHassan93
 
325317356-Lpu-Final-Year-CSE-Project-Example.pdf
325317356-Lpu-Final-Year-CSE-Project-Example.pdf325317356-Lpu-Final-Year-CSE-Project-Example.pdf
325317356-Lpu-Final-Year-CSE-Project-Example.pdf
RaviJangid67
 
Vision360 Optical Shop Ecommerce Website Report
Vision360 Optical Shop Ecommerce Website ReportVision360 Optical Shop Ecommerce Website Report
Vision360 Optical Shop Ecommerce Website Report
NayanGupta60
 
Flow And Throughput Improvement
Flow And Throughput ImprovementFlow And Throughput Improvement
Flow And Throughput Improvement
Ramon Saviñon
 
Quiz app (android) Documentation
Quiz app (android) DocumentationQuiz app (android) Documentation
Quiz app (android) Documentation
Aditya Nag
 

Similar to Food delivery application report (20)

Self checkout application report
Self checkout application reportSelf checkout application report
Self checkout application report
 
Object and pose detection
Object and pose detectionObject and pose detection
Object and pose detection
 
MSc Dissertation: Restaurant e-menu software on iPad
MSc Dissertation: Restaurant e-menu software on iPadMSc Dissertation: Restaurant e-menu software on iPad
MSc Dissertation: Restaurant e-menu software on iPad
 
IT Audit - Internship Report
IT Audit - Internship ReportIT Audit - Internship Report
IT Audit - Internship Report
 
01 dissertation_Restaurant e-menu on iPad
01 dissertation_Restaurant e-menu on iPad01 dissertation_Restaurant e-menu on iPad
01 dissertation_Restaurant e-menu on iPad
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
MSSMT
MSSMTMSSMT
MSSMT
 
Fruit Product Management System
Fruit Product Management SystemFruit Product Management System
Fruit Product Management System
 
online books selling report shivant and nilesh.docx
online  books selling report shivant and nilesh.docxonline  books selling report shivant and nilesh.docx
online books selling report shivant and nilesh.docx
 
80686_Sukesh_Shetty_Sukesh_Shetty_6768625_M99EKM_948886_316244115
80686_Sukesh_Shetty_Sukesh_Shetty_6768625_M99EKM_948886_31624411580686_Sukesh_Shetty_Sukesh_Shetty_6768625_M99EKM_948886_316244115
80686_Sukesh_Shetty_Sukesh_Shetty_6768625_M99EKM_948886_316244115
 
Fitness management application
Fitness management applicationFitness management application
Fitness management application
 
Blood pressure.pdf
Blood pressure.pdfBlood pressure.pdf
Blood pressure.pdf
 
Print
PrintPrint
Print
 
Social Media Strategy for Tata Docomo
Social Media Strategy for Tata DocomoSocial Media Strategy for Tata Docomo
Social Media Strategy for Tata Docomo
 
SPORTSWEAR E-COMMERCE MOBILE APPLICATION.pdf
SPORTSWEAR E-COMMERCE MOBILE APPLICATION.pdfSPORTSWEAR E-COMMERCE MOBILE APPLICATION.pdf
SPORTSWEAR E-COMMERCE MOBILE APPLICATION.pdf
 
Final-project-Report.pdf
Final-project-Report.pdfFinal-project-Report.pdf
Final-project-Report.pdf
 
325317356-Lpu-Final-Year-CSE-Project-Example.pdf
325317356-Lpu-Final-Year-CSE-Project-Example.pdf325317356-Lpu-Final-Year-CSE-Project-Example.pdf
325317356-Lpu-Final-Year-CSE-Project-Example.pdf
 
Vision360 Optical Shop Ecommerce Website Report
Vision360 Optical Shop Ecommerce Website ReportVision360 Optical Shop Ecommerce Website Report
Vision360 Optical Shop Ecommerce Website Report
 
Flow And Throughput Improvement
Flow And Throughput ImprovementFlow And Throughput Improvement
Flow And Throughput Improvement
 
Quiz app (android) Documentation
Quiz app (android) DocumentationQuiz app (android) Documentation
Quiz app (android) Documentation
 

Recently uploaded

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 

Recently uploaded (20)

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 

Food delivery application report

  • 1. “Food Delivery Application” A Minor Project Report Submitted in partial fulfillment of the requirement for the award of Degree of Bachelor of Technology in Computer Science and Engineering Submitted to RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA BHOPAL (M.P) Project Guide Submitted By Dr.Kailash Bandhu Ashwin Bicholiya(0875CS171030) Aishwary Joshi(0875CS171012) Arjun Soni(0875CS171026) Dipendra kag(0875CS171042) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACROPOLIS TECHNICAL CAMPUS, INDORE (M.P.) 452020 2019-2020
  • 2. ii
  • 3. iii Declaration I hereby declared that the work, which is being presented in the project entitled “FoodTukk(Food Delivery App)” partial fulfilment of the requirement for the award of the degree of Bachelor of Engineering, submitted in the Department of Computer Science & Engineering at Acropolis Technical Campus, Indore is an authentic record of my own work carried under the supervision of “Dr.Kailash Bandhu”. I have not submitted the matter embodied in this report for award of any other degree. Ashwin Bicholiya(0875CS171030) Aishwary Joshi(0875CS171012) Arjun Soni(0875CS171026) Dipendra kag(0875CS171042)
  • 4. iv Project Approval Form I hereby recommend, that the project prepared under my supervision titled by FoodTukk be accepted in partial fulfilment of the requirement for the degree of Bachelor of Engineering in Computer Science & Engineering. Dr. Kailash Bandhu Supervisor Recommendation concurred in Prof. Radha shinde Section In-charge Prof. Nisha Bhati Section In-charge Dr. Kailash Bandhu Project Coordinator
  • 5. v
  • 6. vi Acropolis Technical Campus Deparment of Computer Science & Engineering Certificate The project work entitled “FoodTukk” submitted by Ashwin Bicholiya(0875CS171030), Aishwary Joshi (0875CS171012), Arjun Soni (0875CS171026), Dipendra Kag (0875CS171042) is approved as partial fulfillment for the award of the degree of Bachelor of Engineering in Computer Science & Engineering by Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal (M.P.). Internal Examiner External Examiner Name:………………. Name: …………….. Date: …./…/……….. Date: …./…/………..
  • 7. vii Acknowledgement With boundless love and appreciation, we would like to extend our heartfelt gratitude and appreciation to the people who helped us to bring this work in reality. We would like to have some space of acknowledgement for them. Foremost, our would like to express our my sincere gratitude to our supervisor, Dr. Kailash Bandhu whose expertise, consistent guidance, ample time spent and consistent advices that helped us to bring this study into success. To the project Coordinator Dr. Kailash Bandhu for their constructive comments, suggestions, and critiquing even in hardship. I also want to thank Section Incharge Prof. Radha Shinde and Prof. Nisha Bhati for letting my work be an enjoyable moment and for your brilliant comments and suggestions. To the Prof. Prashant Lakkadwala, Head, Department of Computer Science & Engineering for his favourable responses regarding the study and providing necessary facility. To the honourable Dr. Sanjay T. Purkar, Principal, ATC, Indore for his unending support, advises and effort to make possible. Finally, we would like to pay our thanks to faculty members and staff of Department of Computer Science & Engineering for their timely help and support. We also like to pay thanks to our parents for their eternal love, support and prayers. Without them it is not possible. Ashwin Bicholiya(0875CS171030) Aishwary Joshi(0875CS171012) Arjun Soni(0875CS171026) Dipendra kag(0875CS171042)
  • 8. viii Abstract Mobile applications can be one of the best ways to keep consumers engaged with a brand as they are on the move. With the increase in demand for smart phones and efficiency of wireless networks, the demand for mobile applications has increased incredibly. Android is one of the most popular open source platforms that offer the developer full access to the framework API's so as to build innovative applications. Our project “FoodTukk” is an android application which helps the user to order the desired food from the restaurants . This projects overall gives the easier way to order the desired food from home bethe restaurant which will save time with its simple and effectiveness. The main aim of this project is to build an Android application that helps the users to order food from home with specified restaurants and according to the specified tastes. The users can register and login to the app by providing their details. The users can order the food as their desire and they can pay through Cash On Delivery or Credit Card/Debit Card.The admin will have control over the entire system. He can view everyone's profile associated with the restaurant. The admin can view records of users and as well all the users associated to the app have to register. Only registered people can have access to order. The users should get registered to order the food. The user can view the restaurants and order the available items through the application. They can also view the restaurant's profiles only to know their specialization, their records so that they can approach those specific restaurant to get food.
  • 9. ix
  • 10. x Table of Content Chapter 1: Introduction....................................................................................................... 1 1.1 Rationale ................................................................................................................... 1 1.2 Goal........................................................................................................................... 2 1.3 Objective ................................................................................................................... 3 1.4 Methodology............................................................................................................. 3 1.5 Role ........................................................................................................................... 5 1.6 Contribution of Project ............................................................................................. 5 1.6.1 Market Potential................................................................................................. 5 1.6.2 Innovativeness.................................................................................................... 5 1.6.3 Usefulness .......................................................................................................... 6 1.7 Report Organization.................................................................................................. 6 Chapter 2: Requirement Engineering.................................................................................. 7 2.1 Requirement Collection ............................................................................................ 8 2.1.1 <Collection Type 1> .........................................Error! Bookmark not defined. 2.1.2 <Collection Type N> ........................................Error! Bookmark not defined. 2.2 Requirements ............................................................................................................ 9 Chapter 3: Analsis & Design ............................................................................................ 12 3.1 Use-case Diagrams.................................................................................................. 12 3.2 Activity Diagrams................................................................................................... 14 3.3 Sequence Diagrams................................................................................................. 17 3.4 Class Diagrams ....................................................................................................... 18 3.5 Data Design............................................................................................................. 22 3.5.1 Schema Definitions.......................................................................................... 25 3.5.2 Integrity Constraints......................................................................................... 26
  • 11. xi 3.6 System Architecture................................................................................................ 27 Chapter 4: Construction.................................................................................................... 29 4.1 Implementation ....................................................................................................... 29 4.1.1 Implementation Details.................................................................................... 29 4.2 Testing..................................................................................................................... 30 4.2.1 White Box Testing ........................................................................................... 31 4.2.2 Black Box Testing............................................................................................ 32 Conclusion & Future Works………… Appendix A
  • 12. 1 Chapter 1 Introduction FoodTukk : Food Delivery App is a application designed primarily for use in the food delivery industry. This application will allow restaurants, hotel, café and street vendors to increase scope of business by reducing the labor cost involved. Application presents an interactive and up-to-date menu with all options available in an easy to use manner. Customers can signup and signin in the app while they can use Google Signin to use the app. Customers can choose one or more orders from the desired restaurants. If Customer wants to remove one of the order then there is a drag and drop option which will help customers to remove the order. After ordering customer will land to cart option and then to the checkout where they can pay via Cash On Delivery or Credit Card/Debit Card. After Successful Order the Customers can see the Map where they can track the order and can see the time of the orders to be delivered. Once the order is placed it is entered in the database and retrieved in pretty much real time. This Application will allow Restaurants to register and login and add the details for their restaurants like restaurant name, restaurant image, food name, food price and food images which will be shown to the Customers. This Application will have Admin Login Where the admin can operate whole app and all the details of customers and restaurants. Admin can Update, Add and Delete Informations. 1.1 Rationale The top reasons why Food Delivery Application. The reason are so many restaurants are turning to online ordering is that the huge demand is there. Customers want the convenience of ordering a meal and having it delivered to their home or office. Offering the service means you stay competitive in the restaurant industry
  • 13. 2 1.2 Goal Mobile applications can be one of the best ways to keep consumers engaged with a brand as they are on the move. With the increase in demand for smart phones and efficiency of wireless networks the demand for mobile applications has increased incredibly. Android is one of the most popular open source platforms that offers the developers full access to the framework API's so as to build innovative applications The main aim of this project is to build an Android application that helps the users to order food from the specified restaurants and according to the specified tastes The main features provided by the FoodTukk application are as follows : • Customers can signup and signin and also they can signin via Google. • Restaurant can signup and sigin. • Provides the searching facilities based on various factors. Such as Food item, Cart, Order, Customer. • It also manage the Delivery details online for Order details, Customer details, Food item. • It tracks all the information of Category, Delivery, Order etc • Manage the information of Category. • Shows the information and description of the Food item, Cart. • To increase efficiency of managing the Food item, Category. • It deals with monitoring the information and transactions of Order. • Manage the information of Food item. • Manage the information of Order.
  • 14. 3 1.3 Objective The main objective of the Project on Online Food Delivery Application is to manage the details of Food item, Category, Cart, Order, Customer. It manages all the information about Food item, Delivery, Customer, Food item. The project is totally built at user, restaurant and administrator end and thus only the administrator is guaranteed the access. The purpose of the project is to build an application program to reduce the manual work for managing the Food item, Category, Delivery, Cart. It tracks all the details about the Cart, Order, Customer. 1.4 Methodology The Methodology Adopted is “Agile Methodology”. The Agile Method and methodology is a particular approach to project management that is utilized in software development. This method assists teams in responding to the
  • 15. 4 unpredictability of constructing software. It uses incremental, iterative work sequences that are commonly known as sprints. A sprint is a period of time allocated for a particular phase of a project. Sprints are considered to be complete when the time period expires. There may be disagreements among the members of the team as to whether or not the development is satisfactory; however, there will be no more work on that particular phase of the project. The remaining phases of the project will continue to develop within their respective time frames. 1.4.1 The General Principles of the Agile Method • Satisfy the client and continually develop software. • Changing requirements are embraced for the clients competitive advantage. • Concentrate on delivering working software frequently. Delivery preference will be placed on the shortest possible time span. • Developers and business people must work together throughout the entire project. • Projects must be based on people who are motivated. Give them the proper environment and the support that they need. They should be trusted to get their jobs done. • Face-to-face communication is the best way to transfer information to and from a team. • Working software is the primary measurement of progress. • Agile processes will promote development that is sustainable. Sponsors. developers, and users should be able to maintain an indefinite. constant pace. • Constant attention to technical excellence and good design will enhance agility. Simplicity is considered to be the art of maximizing the work that is not done. and it is essential. • Self-organized teams usually create the best designs.
  • 16. 5 1.5 Role Role of individual member may in each phase of software development or anything else. Team Members Requirment Gatherings Analysis Design Implementation Testing Documentation Ashwin Bicholiya ✓ ✓ ✓ ✓ ✓ ✓ Aishwary Joshi ✓ ✓ ✓ ✓ ✓ Arjun Soni ✓ ✓ ✓ ✓ Dipendra Kag ✓ ✓ ✓ ✓ ✓ 1.6 Contribution of Project Refer to Synopsis Format. 1.6.1 Market Potential The food delivery application has huge market demand as many apps are growing in food delivery industry. As people nowadays like to order directly from the applications. In upcoming future the market value of our application is only supposed to increment. 1.6.2 Innovativeness First of all there is a huge demand of this food delivery applications as all the restraunts are shifting towards food delivery applications. One can easily get food within minutes by just ordering from home. Food deliveries are very cheap and fast as compared to having maids for meals. As there exist very few number of food delivery applications in the market, we tend to propose our interesting food delivery application. It is an innovative idea because people loves to order from a verity of restraunts bethe home.
  • 17. 6 1.6.3 Usefulness By the help of our application one can have their meals within no time of ordering.It can save enormous amount of people’s time as many a times people who are having 9 to 5 job often skip their meals. 1.7 Report Organization The remaining section of the report is structured as follows. Chapter 2 provides detailed business and technical requirements. Different steps taken for information collection are also discussed in this chapter. Chapter 3 provides details analysis…………….. and so on.
  • 18. 7 Chapter 2 Requirement Engineering Requirement Engineering is the process of defining, documenting and maintaining the requirements. It is a process of gathering and defining service provided by the system. Requirements Engineering Process consists of the following main activities:  Requirements elicitation  Requirements specification  Requirements verification and validation  Requirements management Requirements Elicitation: It is related to the various ways used to gain knowledge about the project domain and requirements. The various sources of domain knowledge include customers, business manuals, the existing software of same type, standards and other stakeholders of the project. The techniques used for requirements elicitation include interviews, brainstorming, task analysis, Delphi technique, prototyping, etc. Some of these are discussed here. Elicitation does not produce formal models of the requirements understood. Instead, it widens the knowledge domain of the analyst and thus helps in providing input to the next stage. Requirements specification: This activity is used to produce formal software requirement models. All the requirements including the functional as well as the non-functional requirements and the constraints are specified by these models in totality. During specification, more knowledge about the problem may be required which can again trigger the elicitation process. The models used at this stage include ER diagrams, data flow diagrams(DFDs), function decomposition diagrams(FDDs), data dictionaries, etc. Requirements verification and validation: Verification: It refers to the set of tasks that ensure that software correctly implements a specific function. Validation: It refers to a different set of tasks that ensure that the software that has been built is traceable to customer requirements. If requirements are not validated, errors in the requirements definitions would propagate to the successive stages resulting in a lot of modification and rework. The main steps for this process include:  The requirements should be consistent with all the other requirements i.e no two requirements should conflict with each other.  The requirements should be complete in every sense.  The requirements should be practically achievable. Reviews, buddy checks, making test cases, etc. are some of the methods used for this.
  • 19. 8 Requirements Management: Requirement management is the process of analyzing, documenting, tracking, prioritizing and agreeing on the requirement and controlling the communication to relevant stakeholders. This stage takes care of the changing nature of requirements. It should be ensured that the SRS is as modifiable as possible so as to incorporate changes in requirements specified by the end users at later stages too. Being able to modify the software as per requirements in a systematic and controlled manner in an extremely important part of the requirements engineering process. 2.1 Requirement Collection 2.1.1 IDE : Integrated Development Environment An IDE typically contains a code editor, a compiler or interpreter, and a debugger, accessed through a single graphical user interface (GUI). The user writes and edits source code in the code editor. The compiler translates the source code into a readable language that is executable for a computer. And the debugger tests the software to solve any issues or bugs. 2.1.2 Database: A database is a collection of information that is organized so that it can be easily accessed, managed and updated. Computer databases typically contain aggregations of data records or files, containing information about sales transactions or interactions with specific customers. 2.1.3 SDK Software Development Kit: A software development kit (SDK) is a collection of software development tools in one installable package. They ease creation of applications by having compiler, debugger and perhaps a software framework. They are normally specific to a hardware platform and operating systems combination. 2.1.4 Programming Language: A programming language is a formal language, which comprises a set of instructions that produce various kinds of output. Programming languages are used in computer
  • 20. 9 programming to implement algorithms. Most programming languages consist of instructions for computers. 2.1.4 OS (Operating System): An operating system is system software that manages computer hardware, software resources, and provides common services for computer programs. 2.2 Requirements 2.2.1 Functional Requirements: • Application can be run on the wifi or cellular network. • Firebase can be used to stored the data of customer and restaurant & displayed those data to each other. • Restaurant can be searched by user. • User can order the food. • User can pay via Cash On Delivery or Credit/Debit Card. • User can directly call to restaurant. 2.2.2 Non-Functional Requirements: For developing the application the following are the Hardware Requirements. Processor: Intel core i3 or higher RAM: 4 GB Space on disk: minimum 10GB
  • 21. 10 Flutter: Flutter is Google's UI toolkit for crafting beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source. 2.2.3 Visual Studio Code: Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.
  • 22. 11 2.2.4 Android Studio: Android Studio is the official integrated development environment (IDE) for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development. It is available for download on Windows, macOS and Linux based operating systems. 2.2.5 Firebase: Firebase is a Backend-as-a-Service — BaaS — that started as a YC11 startup and grew up into a next-generation app-development platform on Google Cloud Platform.
  • 23. 12 ... Firebase frees developers to focus crafting fantastic user experiences. You don't need to manage servers. You don't need to write APIs. 2.2.6 Dart Programming Language: Dart is a client-optimized programming language for apps on multiple platforms. It is developed by Google and is used to build mobile, desktop, backend and web applications. Dart is an object-oriented, class defined, garbage-collected language using a C-style syntax that transcompiles optionally into JavaScript. Chapter 3 Analysis & Design 3.1 Use-case Diagrams A use-case diagram is a graphical depiction of the interaction among the elements of a system. A use-case is a methodology used in system analysis to identify, clarify, and organize system requirements. In this context, the term "system" refers to something being developed or operated, such as a mail-order product sales and service web site Use case diagrams are employed in UML, a standard notation of real world objects and
  • 24. 13 systems. System objectives can include planning overall requirement, validating a hardware design, testing and debugging a software product under development creating an online help reference, or performing a consumer-service-oriented task. The main components of use-case are: • Actor.- something with a behavior or role, e g., a person, another system, organization. • Scenario.- a specific sequence of actions and interactions between actors and the system. • Use case:- a collection of related success and failure scenarios, describing actors using the system to support a goal. A use case diagram captures the actors and the role they perform in a system. It depicts the roles performed by each actor. The three actors for this project are Admin, Customers and Restaurant. Customers and Restaurant can register, login and view their own profile and each other profile respectively. And they can update their profile. Customers can gives feedback and restaurant can view feedback, both can change their password if they required. A use-case is a methodology used in system analysis to identify , clarify, and organize system requirements. In this context, the term "system" refers to something being developed or operated , such as a mail-order product sales and service web site. Use case diagrams are employed in UML, a standard notation of real-world objects and systems.
  • 25. 14 Figure 3.1:Use-caseDiagramof FoodTukk 3.2 Activity Diagrams Activity diagram is another important diagram in UML to describe dynamic aspects of the system. Activity diagram is basically a flow chart to represent the flow form one activity to another activity. The activity can be described as an operation of the s drawn from one operation to another. This flow can be sequential, system. So the control flow is branched or concurrent. control by usin Activity diagrams deals with all type of flow g different elements like fork, join etc. When to use an Activity Diagram:- • When describing work flow across many use cases.
  • 26. 15 • When analyzing a use case, and before methods are assigned to symbols. • When dealing with multi-threaded applications. Figure 3.2:Activity Diagramof the Login
  • 27. 16 Figure 3.3: Activity diagram for Google Login
  • 28. 17 Activity diagram for FoodTukk application 3.3 Sequence Diagrams A Sequence diagram is an interaction diagram that shows how objects operate with one another and in what order It is a construct of a message sequence chart it shows object interaction arranged in time sequence It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry Oct the functionality of the scenano Sequence diagrams are typically associated with use case realizations in the Logical View of the system under develoPment. Sequence diagrams are sometimes called event diagrams or event scenarios. A sequence diagram shows as parallel vertical lines (lifelines). In this application we use the sequence diagrams consisting main objects are user, system and restaurant The working of the objects done step by step.
  • 29. 18 Figure 3.3 : Sequence Diagram of the FoodTukk 3.4 Class Diagrams A class is a description of a set of object They share the same attributes, operations, relationships and semantics. The package in which class name is a simple one or it may prefix by the that class lives, An Defaults values can attributes is a named property of a class be assigned to attrib service that can be req attributes An operation is the implementation of a uested from any object of the class to affect behavior. A responsibility is a contract or an obligation of a class. Visibility specifies whether attributes, operations can be used by other classifiers. In this application we use the class diagrams consisting main classes and their subclasses. The attributes of those classes are defined in second section and the functions are defined in the third section of this class. The main home class is connected by the other classes through the aggregation relationship and those classes are connected by the sub classes through the association relationship. each class performing their own work. Home class having the aggregation relationship with user registration, restaurant registration, user login, restaurant login, admin login Those subclasses having the association relationship with the other sub
  • 30. 19 classes and they are view profile, feedback, change password, view order, add offer, update offer, view restaurant, send message. Class Description There are three ,nain classes - The Admin can view the profile of customers as well as restaurants and also can update and delete the profile of customers, restaurants and its own. He/she can also view the offers which is provided by restaurants and also view the feedbacks which is provided by the customers to the restaurants. The Customer have to registered on this application and they can view the profile of them and update it They can view the offers which is provided by the particular restaurant and also customer can call the restaurant and book the table or order the food and also give their opinions about the restaurants by giving a rating and writing a review. Figure 3.4 : Class Diagram of the FoodTukk
  • 31. 20 3.5 ER Diagram E-R Model is a popular high level conceptual data model. This model and its variations are frequently used for the conceptual design of database application and many database design tools employ its concept. A database that confirms to an E-R diagram can be represented by a collecton of tables in the relational system. The mapping of E-R diagram to the entities are: • Attributes • Relations Many-to-many Many-to-one One-to-many One-to-one
  • 32. 21 • Weak entities • Sub-type and super-type The entities and their relationshops between them are shown using the following conventions. • An entity is shown in rectangle. • A diamond represent the relationship among number of entities. • The attributes shown as ovals are connected to the entities or relationship by lines. • Diamond,oval and relationships are labeled. Figure 3.5 : ER Diagram of the FoodTukk
  • 33. 22 3.6 Data Flow Daigram A dataflow diagram is a graphical representation of the flow of data between process. In other words, it shows: • What goes in • How it is changed • What comes out The following Symbols are generally used: • Data flow is represented by a labeled arrow • Process are represented by labeled circles • Information source and sinks are represented by boxes Context Level DFD (0 Level DFD) :
  • 36. 25 3.7 Data Design 3.7.1 Schema Definitions We have used NoSQL database so the Schema is in the format of JSON. User { User id:”value”[ “value”, “value” ] Email id: “value” Password: “value” Name: “value” } Restaurant { Restaurant id: “value” [ “value”, “value” ] Email id: “value” Password: “value” Name: “value” } RestaurantData { RestaurantData: “value” [ “value”
  • 37. 26 “value” ] Amount: “value” FoodName: “value” ImageUrl: “value” RestaurantName: “value” } 3.7.2 Integrity Constraints ● We are using Firebase hence the data that is requested or updated are stored in device offline then if there is an internet connection the data is synchronized with the cloud. ● It also has auto re-attempt functionality that retries automatically if there is some issue with the internet or server.
  • 38. 27 3.8 System Architecture The structure of the system can be divided into 3 main logical components: • Food Delivery App - provides the functionality for customers to place their order and supply necessary details. • Menu Management - allows the restaurant to control what can be ordered by the customers • Order Retrieval System - This is a final logical component. Allows restaurant to keep track of all orders placed. This component takes care of order retrieving and displaying order information.
  • 39. 28
  • 40. 29 Chapter 4 Construction 4.1 Implementation We decided to select food delivery application for our project as it is in heavy demand. We have implemented our application by Dart programming language with the help of Flutter SDK. For the implementation of database we have selected Firebase and for the source code editor and automation tool we used VS Code. 4.1.1 Implementation Details 4.1.1.1 Software Details For delevoping application following are the Software Requirements:- Operating System: Windows 10 Language: Flutter SDK, Dart Database: Firebase Technologies used Flutter SDK, Dart, Firebase, Android Studio, Vs Code Debugger: Android Dalvik Debug Monitor service For running the application the following are the Software Requirements: Operating System. Android 5.0 or higher versions Network: Wi-Fi Internet or cellular Network 3 4.1.1.2 Hardware Details Processor: Minimum 1 GHz Memory (RAM): Minimum 2 GB Hard Drive: Minimum 100MB
  • 41. 30 4.2 Testing Testing is vital for the success of any software. no system design is ever perfect. Testing is also carried in two phases. first phase is during the software engineering that is during the module creation. second phase is after the completion of software. this is system testing which verifies that the whole set of programs hanged together. Testing Scope : Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and code generation Once source code has been generated, software must be tested to uncover and correct as many errors as possible before delivery to the customer. Our goal is to design a series of test cases that have a high likelihood of finding errors. That's where software-testing techniques come in to the picture. These techniques provide systematic guidance for designing tests that 1. Exercise the internal logic of software components and 2. Exercise the input and output domains of the program to uncover errors in program function, behavior and performance. Testing of the software leads to the uncovering of errors in the software functional and performance requirements are met. Testing also provides a good indication of software reliability as software quality as a whole. The result of the different phases of testing are evaluated and then compared with the expected results. If the errors are uncovered they are debugged and corrected. A strategy approach to software testing has the generic characteristics: 1. Testing begins at the module level and works "outwards° towards the integration of the entire computer based system. 2. Different testing techniques are appropriate Testing and Debu at different points of time. 3. Testing and Debugging are different activities, but debugging must be accommodated in the testin, strategy A strategy for the software testing must aCcon.m.dated low level tests that are necessary to verify that a small source code
  • 42. 31 segment is Pertbrining correctly according to the customer's requirements and that of developer's expectations. Testing Principle: Testing is the process used to measure the quality of developed computer software software is a Process designed to make computer code does that it was designed to do and that does not do anything unintended. One of the primary causes of poor program testing is the tact that most programmer begin with a false definition of the term They might say testing Is the processed demonstrating that error are not present. 1. The purpose of testing is to show that a program performs its intended function correctly. 2. "Testing is a process of establish confidence that program does what it is supposed to do ". this last statement are all based on false primes At the start of testing, a program should not be merely tested to show that it work Rather the test should start with the assumption that the program contains error and the goal is to find as many error as possible. 4.2.1 White Box Testing White box testing approach focus on the program control structure .Knowing the internal working of program. test can be conducted to ensure that internal operations are performed According to specification and all internal components have been exactly exercised It examines the logic of the program by testing every path of the program. White box testing improves its quality through condition testing winch attempts to find errors in the following categories: 1. Boolean operator error 2. Boolean variable error 3. Relational operator error
  • 43. 32 Complexity of test and uncovered error is limited by the constrained scope establish for unit testing The unit test is white box oriented, and the step can be conducted in parallel for multiple components. 4.2.2 Black BoxTesting Black box testing This approach locus on the functional requirements of the software Knowing the specified function that a product has been designed to perform, tests can be conducted that demonstrate each function is fully operational while at the same time searching for errors in each function. Black box testing attempts to find errors in the following categories 1. Incorrect or missing unction 2. Interface errors 3. Errors in database and external data base access. Testing involves the various text and invalid entries in the name text box, trying to filling of invalid entries in the flex grid, etc. Test Case: N+1 Test Case: M 4.3:TestCases 4.3.1 Unit Testing In unit testing, various modules have been tested individually. This has been done manually to test if the expected result is actually seen on the screen. The following are the test cases with the help of which the application has been tested. Sr. No Test-case Description Expected Result Actual Result 1. On Load of Home Screen Take Minimum 5 sec Pass 2. On clicking Sign in as user Display the screen of User Pass
  • 44. 33 login 3. On clicking Sign in With Google Display all Google accounts that logged in mobile device Pass 4. On clicking the Food item Item Added in the cart Pass 5. On clicking the Next Button Display the Payment Option Screen Pass 6. On clicking Cash on Delivery Display the Map Screen Pass 7. On clicking Debit and Credit card option Display the Payment Screen Pass 8. On Clicking the Logout Button Profile get Logout Pass 9. On clicking Sign in as Restaurant Display the Screen of Restaurant Login Pass 10. On Clicking image Url, Restaurant Name, Food Name & Amount Take the above details. Pass 11. On clicking Submit Button Update the Details of Restaurant Data On Server Pass 12. On Clicking the Logout Button Profile get Logout Pass Conclusion & Future Works Conclusion: This is our first, attempt in developing a mobile application which gave us a basic understanding of development and challenges of mobile application development. The main aim of the project is to provide an easy to use application for ordering food online from specified restaurants. The application has been implemented and tested on real devices. As far as we tried our best to make the application perfect and real application. It
  • 45. 34 allows customers to order the food and to track their order and directions from restaurants and also it allows restaurant owners to manage orders from customers immediately whenever he or she logged in into the system. Our experience in developing Online Food Delivery App using smart phones shows the capabilities of wireless communication and smart phone technology in fulfilling and improving business management and service delivery. This system is convenient, effective , it's easy to install, cost-effective, flexible. Future Work: The application can be improved in many ways and can be extended to support more devices like the tablets and iOS devices. In the upcoming days we can improve our application by adding delivery page where the delivery boy can track the order of users. Also we will add offer page where users can get the best deals on food.
  • 46. 35 Appendix A <<Snapshots of the project>> Main Page Google loginpage
  • 49. 38 View Cart Item removal
  • 51. 40 Credit/Debit card page Payment confirmnation page
  • 52. 41 Resturant Screen Resturant detail confirmation