Food Ordering Android App
Food Ordering Android App
INTRODUCTION
A Food Ordering App is tool which is used to increase the performance of the
organization. This system helps to provide food in area using internet. It provides fewer
efforts in manual work. This is effective tool to resolve problems in offline deliver.
Food Ordering App is useful for ordering food online. This system works using
internet. This system works in two modules where user can order food by category &
using online payment application Users can see the food available and according to the
quality of the service user gives order to the system. Admin handles the food items then
divide into categories by breakfast , lunch , dinner , dessert. Then according to the
condition action can be taken. Administration takes action towards upcoming orders.
Where administrator have rights to see all transactions from various customers and also
see transaction history. Administrator monitors the system and takes appropriate action
Existing System:
In current system, offline deliver can be cold & not suitable for eating so it is
appreciated the customer & name of the organization will be bad and deliver using
offline method was time consuming process. Sometime there should be problem that
responsible people didn’t receive food and higher authorities don’t have idea about it.
So the proposed system overcomes the existing system by providing easy way to
register complaint and track, monitor food delivery. It also reduces processing time,
1|Page
Existing system having following drawbacks:
2|Page
To reduce the staff power and financial collapsing.
Performance:
The system must have the best performance for the Food Ordering and solution
by the department head within the given range in the area of customer location.
Providing the best performance by the system is expected by the system as well.
Efficiency:
The basic need of the project is efficiency. The project should be so efficient
that whenever a new transaction or food order that takes place, its records are easily
3|Page
Control:
The complete control of the project is under the hands of authorized person who
has password to access this project and illegal access is not supposed to deal with. All
the control is under the administrator and the other members have the rights to just see
1. More accuracy.
2. Speed improvement.
3. Data inconsistency.
4|Page
5. Integrity
7. It handles the entire information about the customer and department head.
11. To develop the store and maintenance computerized system from the
5|Page
6. Changes to the records is easy.
the machine for the Customer and department head prediction because all the work
performed by the customer and department head is happened only at online basis.
2. Inaccuracy:
6|Page
The output of this system is totally depended on the users entered input. If the
bad input entered then the system will generate wrong output. If the wrong
complaint information of the customer is entered incorrect by the user then the
To run this software system effectively & efficiently we will require the software like:
above
7|Page
RAM 4 GB or above.
Mouse
Keyboard
3. Analysis 15 Days
4. Design 1 Month
5. Coding 45 Days
6. Testing 1 Month
7 Documentation 1 Month
Total 6 Months
8|Page
1. Information Gathering:
In this phase, the key information about the project requirement is firstly
collected from the owner or the user of the software. This is the most important phase.
2. Feasibility Study:
behavioral feasible or not. System analyst has also to consider the feasibility factors at
the time of analyzing of system. The study of following points will prove if the
FEASIBILITY STUDY
In this project, we present a Super Shop Billing System. Here we describe the
But now our system gives full opportunity to achieve this by modern methods. The
employees that interface with this application-based system, he/she does their work
more frequent & save his valuable time for each consumer and Stock entry.
Our project gives frequent data searching for particular entry. Our project is
al Feasibility
9|Page
The assessment is based on an outline design of system requirements in terms of
Input, Processes, Output, Fields, Programs, and Procedures. This can be quantified in
whether the new system will perform adequately or not. Technological feasibility is
carried out to determine whether the company has the capability, in terms of software,
The technical issue usually raised during the feasibility stage includes:
security?
The computerized system follows as the technical points affected to technical views.
Our computerized system does not require any special type of technical requirement of
the computer. The computerized system will work on any computer having some few
Financial feasibility
investors, you should include at least three key things in your comprehensive financial
feasibility study:
10 | P a g e
A financial feasibility study projects how much start-up capital is needed, sources
much cash is needed, where it will come from, and how it will be spent
Financial analysis is the most frequently used method for evaluating the
procedure to determine the benefits and savings that are expected from a system, the
labor expense is reduced. The cost for development of our system is very less. The cost
of hardware and software for management is at present economical. The benefits in turn
reduce a lot of manual paper work. The development cost in future will be putting the
It deals with the analysis that will be incurred while developing the system. At
this stage, initial investment is considered and returns from the same are also
forecasted. On the other hand, the organization calculates the payback period for the
computerized system.
In our system, less staff is required and time required gets decremented by a large
scale.
Current trends in hardware industry make it feasible for small to medium scale
industries to go for the state of the art machine at highly appreciable prices.
1. Cost Based Study: It is important to identify cost and benefit factors, which can be
analysis of the costs to be incurred in the system and the benefits derivable out of
the system.
11 | P a g e
2. Time Based Study: This is an analysis of the time required to achieve a return on
investments. The benefits derived from the system. The future value of a project is
also a factor.
Operational feasibility
The advantage of the system is that is reduces the tedious manual work and also
the long times require achieving optimum results due to manual work. The proposed
system is feasible enough to operate. This developed system will be used for many
years. The proposed system is beneficial only if they can be turned into information
system that will meet organization-operating requirements. This test of feasibility asks
if the system will work when it is developed and installed. Are there major barriers to
implementation?
A new comer also handles the system after getting some guidelines. Hence the system
is operationally feasible.
ANALYSIS
Analysis is the most important part or phase for any project. Before starting
work for any project you must have to analyze the project. By analyzing you know
about the requirements of your project and risks regarding to your project and due to
Requirement Analysis
between the software allocation and the software design. It is the process of discovery,
user’s needs, and also provide the final yardstick against which implementation success
12 | P a g e
is measured. In requirement analysis phase we deal with the requirements of company
introduction may be nothing more than the s/w scope of the planning document.
Information Requirement
It provides detailed description of problem that the s/w must solve. Information
content, flow and structure are documented. H/W, S/W and Human Interfaces are
Functional Requirement
constraints are stated and justified, performance characteristics are stated and one or
more diagrams are included to graphically represent the overall structure of the s/w and
interplay among the s/w functions and other system elements. The behavioral
Validation Requirement
A validation criterion is probably the most important and ironically, the most
functions, performance and constraints? We neglect this section because completing its
13 | P a g e
have at this stage. Yet, the specification of validation criteria acts as an implicit review
of all the requirements. It is essential that time and attention to be given to this section.
Implementation Sources
Android Studio
Android SKD
DESIGN
The software design is actually a multistep process that focuses on four distinct
and procedural detail. The design process translates requirements into a representation
of the software that can be assessed for quality before coding begins. Like
configuration.
behavior of the system to be developed. It includes a set of use cases that describe all
the interactions the users will have with the software. Use cases are also known as
functional requirements. In addition to use cases, the SRS also contains non-functional
14 | P a g e
The development is more critical and need highly specialized personnel who are
experts in building huge integrated programs to run the system in combination of all the
Programming languages are divided into two categories, low-level languages and high-
language. High-level languages are PASCAL, COBOL etc. There may be packages
readily available. RDBMS GUI is used fully in any information science field.
Resources Required
Software resources:-
ANDROID SDK
SQLITE Database
methods, and tools, layers. A process model for software engineering based on nature
This model is based upon the recognition that software is built from smaller
components. It tries to rationalize this too often however it can lead to ‘PATCH AND
FIX’ methods. This incremental model is evolutionary software process model, which
15 | P a g e
is iterative in nature. It combines elements of linear sequential model with the iterative
philosophy of prototyping.
In this approach each increment produces a deliverable version of the software. During
this increment, there are four phases viz. requirement analysis, design, coding, testing.
At the end of these phases the complete “Performance Monitoring and Alert
Incremental Model’s next iteration will have all these phases but the software
development will aim towards adding features like support for multiple servers on the
network and Linux support. This is how the incremental approach is used for the
development of evolving software i.e. Layer after Layer approach is chosen to achieve
16 | P a g e
Fig Level 0 DFD
17 | P a g e
Fig level 2 DFD
18 | P a g e
Entity Relationship Diagram
19 | P a g e
CODING
generation step performs this task. If design is performed in a detailed manner, code
Hardware Specification
Hardware is nothing but the machine and its auxiliary device (circuit part). The
hardware ranges from personal computer to mini, micro and mainframe computers. The
choice depends on the requirement of an organization. Right from IBM, DEC, APPLES
etc., which is leading manufacture hardware as per requirement. The basic component
doesn’t create much more problem in running system, but the software plays an
Our project doesn’t require any extra hardware than a normal computer. As our
project is in Visual Studio IDE so it is an application type project hence any system can
be used. System with processor of Pentium Core 2 Duo or higher is sufficient to run
Visual Studio, minimum of 160 GB hard disk is required so that we can install any
necessary software’s and for further increase in database. RAM is usually 1GB of
minimum is required so that our project can work. More RAM means more concurrent
later reuse. Monitor, keyboard and mouse are required as its necessity of any computer.
Hence for our project no extra hardware is required. As with the importance of the
20 | P a g e
the market can be easily adopted for the library and information services to provide the
Hardware Resources
RAM 4 GB or above.
Mouse
Keyboard
Software
The development is more critical and need highly specialized personnel who are
experts in building huge integrated programs to run the system in combination of all the
Programming languages are divided into two categories, low-level languages and high-
language. High-level languages are PASCAL, COBOL etc. So nothing more hardware
is required such as extra printer is required when printing a report. There may be
packages readily available. RDBMS GUI is used fully in any information science field.
ANDROID
21 | P a g e
devices such as smartphones and tablets. Android is developed by a consortium of
It is free and open source software; its source code is known as Android Open Source
Project (AOSP) which is primarily licensed under the Apache License. However most
The source code has been used to develop variants of Android on a range of other
Android has been the best-selling OS worldwide on smartphones since 2011 and on
tablets since 2013. As of May 2017, it has over two billion monthly active users, the
largest installed base of any operating system, and as of August 2020, the Google Play
22 | P a g e
Store features over 3 million apps.[15] The current stable version is Android 11, released
on September 8, 2020.
Android Inc. was founded in Palo Alto, California, in October 2003 by Andy
Rubin, Rich Miner, Nick Sears, and Chris White. [16][17] Rubin described the Android
project as "tremendous potential in developing smarter mobile devices that are more
aware of its owner's location and preferences". [17] The early intentions of the company
were to develop an advanced operating system for digital cameras, and this was the
basis of its pitch to investors in April 2004.[18] The company then decided that the
market for cameras was not large enough for its goals, and by five months later it had
diverted its efforts and was pitching Android as a handset operating system that would
Rubin had difficulty attracting investors early on, and Android was facing eviction
from its office space. Steve Perlman, a close friend of Rubin, brought him $10,000 in
funding. Perlman refused a stake in the company, and has stated "I did it because I
employees, including Rubin, Miner and White, joined Google as part of the acquisition.
[17]
Not much was known about the secretive Android at the time, with the company
having provided few details other than that it was making software for mobile phones.
[17]
At Google, the team led by Rubin developed a mobile device platform powered by
23 | P a g e
hardware components and software partners and signaled to carriers that it was open to
Android "had to go back to the drawing board". [26][27] Google later changed its Android
Product was designed with the presence of discrete physical buttons as an assumption,
3G, and Android's focus eventually switched to just touchscreens. The first
commercially available smartphone running Android was the HTC Dream, also known
24 | P a g e
Fig User interface component tree
1) Linux kernel
2) Native Libraries
25 | P a g e
The WebKit library is responsible for browser support, SQLite is for database,
FreeType for font support, Media for playing and recording audio and video formats.
3) Android Runtime
In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which
is responsible to run android application. DVM is like JVM but it is optimized for
4) Android Framework
On the top of Native libraries and android runtime, there is android framework.
resources, locations, Content Providers (data) and package managers. It provides a lot
5) Applications
On the top of android framework, there are applications. All applications such as home,
contact, settings, games, browsers are using android framework that uses android
runtime and libraries. Android runtime and native libraries are using linux kernal.
TESTING
26 | P a g e
Testing is an investigation conducted to provide stakeholders with information
about the quality of the product or service under test. Software Testing also provides an
objective, independent view of the software to allow the business to appreciate and
understand the risks at implementation of the software. Test techniques include, but are
not limited to, the process of executing a program or application with the intent of
Software Testing can also be stated as the process of validating and verifying that
a software program/application/product:
1. Meets the business and technical requirements that guided its design and
development;
implemented at any time in the development process. However, most of the test effort
occurs after the requirements have been defined and the coding process has been
E-R Diagram
27 | P a g e
E-R Diagram Also called an entity-relationship model, a graphical representation of
entities and their relationships to each other, typically used in computing in regard to
data-an object or concept about which data is stored. A relationship is how the data is
shared between entities. There are three types of relationships between entities:
employee name (A) is associated with only one social security number (B).
many instances of another entity (B), but for one instance of entity B there is
only one instance of entity A. For example, for a company with all employees
working in one building, the building name (A) is associated with many
different employees (B), but those employees all share the same singular
many instances of another entity (B), and one instance of entity B is associated
with one, zero or many instances of entity A. For example, for a company in
employee (A) is associated with many instances of a project (B), and at the
same time, each instance of a project (B) has multiple employees (A) associated
with it.
28 | P a g e
The Data Flow Diagram is commonly used also for the visualization of
designer typically draws context level DFD first showing interaction between the
system and the outside entities. Then this context level DFD will then be exploded in
order to further show the details of system being modeled. Larry Constantine invented
the first data flow diagrams based on Martin and Estrin's data flow graph model of
computation.
and Design Method (SSADM). In this method, both the project sponsors and the end
users need to collaborate closely throughout the whole stages of the evolution of the
system. Having a DFD will make the collaboration easy because the end users will be
able to visualize the operation of the system, the will see a better perspective what the
system will accomplish and how the whole project will be implemented.
monitoring. The DFD of the old system can be laid side by side with the new system's
DFD so that comparisons can be made and weak points can be identified so that the
There are four components of a data flow diagram which are the following:
External Entities / Terminators - These refer or points to the outside parts of the
into or from the system, are often called sinks resources. They represent the
Processes –The Processes component modifies the inputs and corresponding outputs.
29 | P a g e
Data Stores –refers to any place or area or storage where data will be placed whether
temporarily or permanently.
Data Flows – refers to the way data will be transferred from one terminator to another,
As a general rules, every page in a DFD should not contain more than 10 components.
So, if there are more than 10 components in one processes, one or more components
should have to be combined and then make another DFD to detail the combination in
another page.
Each component needs to be number. Same goes for each subcomponent so that it will
be easy to follow visually. For example, a top level DFD must have components
numbered 1,2,3,4,5 and next level subcomponent (for instance of number 2) numbered
There are two approaches to developing a DFD. The first approach is the Top Down
Approach where a DFD starts with a context level DFD and then the system is slowly
decomposed until the graphical detail goes down to a primitive level. The other
constructed all events are made. For every event, a process is constructed and then each
process is linked with other processes through data stores. Each process' reaction to a
There many DFD tools available in the market today. Some of these DFD tools include
30 | P a g e
9. DETAILS OF TESTING TOOL PROPOSED FOR USE
Black-Box testing:
Black box testing treats the software as a "black box," without any knowledge of
internal implementation.
Black box testing also mainly refers to functional testing because this testing method
emphasized on executing the functions and examination of their input and output data.
31 | P a g e
The tester treats the software under test as a black box because only the inputs, outputs
and specification are visible, and the functionality is determined by observing the
White-Box testing:
White box testing, by contrast to black box testing, is when the tester has access to the
internal data structures and algorithms (and the code that implement these)
and flow of the software under test are visible to the tester.
It requires programming skills to identify all paths through the software. The tester
chooses test case inputs to exercise paths through the code and determines the
appropriate outputs.
Since the tests are based on actual implementation, if the implementation changes, the
tests probably will need to change too. Its aim is to guarantees all the independent paths
Validation Testing:
No duplicate Account Number is stored in the database. i.e one Account has a
32 | P a g e
The names are check for the proper inputs i.e. no special symbols (@,$,#,……
etc) are accidentally input to the system i.e. only alphabets for the name.
The amount telephone numbers are checking for proper inputs i.e. only numeric
no alphabet.
Contents
Android Studio is designed to make testing simple. With just a few clicks, you can set
up a JUnit test that runs on the local JVM or an instrumented test that runs on a device.
Of course, you can also extend your test capabilities by integrating test frameworks
such as Mockito to test Android API calls in your local unit tests, and Espresso or UI
Automator to exercise user interaction in your instrumented tests. You can generate
This page provides the basic information about how to add new tests to your app and
For a more complete how-to guide for writing tests, see Testing apps on Android.
33 | P a g e
Test types and location
The location of your test code depends on the type of test you are writing. Android
Studio provides source code directories (source sets), for the following two types of
tests:
Located at module-name/src/test/java/.
These are tests that run on your machine's local Java Virtual Machine (JVM).
Use these tests to minimize execution time when your tests have no Android
dependencies.
of android.jar where all final modifiers have been stripped off. This lets you use
Instrumented tests
Located at module-name/src/androidTest/java/.
These are tests that run on a hardware device or emulator. These tests have
the Context of the app you are testing, and let you control the app under test
from your test code. Use these tests when writing integration and functional UI
34 | P a g e
Because instrumented tests are built into an APK (separate from your app
automatically generates this file during the build so it is not visible in your
project source set. You can add your own manifest file if necessary, such as to
specify a different value for `minSdkVersion` or register run listeners just for
your tests. When building your app, Gradle merges multiple manifest files into
one manifest.
The Gradle build interprets these test source sets in the same manner as it does for your
project's app source sets, which allows you to create tests based on build variants.
When you create a new project or add an app module, Android Studio creates the test
source sets listed above and includes an example test file in each. You can see them in
35 | P a g e
Figure 1. Your project's (1) instrumented tests and (2) local JVM tests are visible in
To create either a local unit test or an instrumented test, you can create a new test for a
1. Open the Java file containing the code you want to test.
2. Click the class or method you want to test, then press Ctrl+Shift+T (⇧⌘T).
4. In the Create Test dialog, edit any fields and select any methods to generate,
Alternatively, you can create a generic Java file in the appropriate test source set as
follows:
the Project view.
2. Expand the appropriate module folder and the nested src folder. To add a local
unit test, expand the test folder and the nested java folder; to add an instrumented test,
36 | P a g e
3. Right-click on the Java package directory and select New > Java Class.
Also be sure you specify the test library dependencies in your app
module's build.gradle file:
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support:support-annotations:24.0.0'
androidTestImplementation 'com.android.support.test:runner:0.5'
For other optional library dependencies and more information about how to write your
37 | P a g e
10. PROPOSED USER MANUAL FORMAT
Database designing:
38 | P a g e
Table Name : Register
39 | P a g e
Admin Side Login:
40 | P a g e
Admin Menu Add:
41 | P a g e
UserSplashScreen:
42 | P a g e
USer Dashboasrd:
User Menu
43 | P a g e
Manage Product Page
44 | P a g e
11. SUMMARY
45 | P a g e
A Food Ordering App is tool which is used to increase the performance of the
organization. This system helps to provide food in area using internet. It provides fewer
This is effective tool to resolve problems in offline deliver. Food Ordering App is
useful for ordering food online. This system works using internet. This system works in
two modules where user can order food by category & using online payment
application.
Users can see the food available and according to the quality of the service user
gives order to the system. Admin handles the food items then divide into categories by
Then according to the condition action can be taken. Administration takes action
towards upcoming orders. Where administrator have rights to see all transactions from
various customers and also see transaction history. Administrator monitors the system
and takes appropriate action to improve the quality of the service. The service will
increase the revenue of the organization & will also help in improving the efficiency &
food hot & not cold, not damaged. This will also develop positive about company in the
12. REFERENCE
46 | P a g e
1) Headfirst Android Development: A Brain-Friendly Guide 1st Edition.
Web References:
www.android-developers.com
www.w3school.com
http://en.wikipedia.org/wiki/Android
47 | P a g e