Major Report Pallavi
Major Report Pallavi
Major Report Pallavi
ON
SUBMITTED BY:
SUBMITTED TO:
The project report entitled “ONLINE FOOD ORDERING APPLICTAION” is prepared and
submitted by Pallavi Yadav, who has partially completed the Major Project during the semester
from January to May of Academic session 2019-22. It has been found satisfactory in terms of
scope, quality, and presentation as partial fulfillment of the requirements for the award of the
degree of Bachelor of Computer Application in Babasaheb Bhimrao Ambedkar University
Satellite Campus, Amethi, India.
Page | ii
DECLARATION
Signature of Student
Pallavi Yadav
Email ID - pallaviyadav035@gmail.com
Date:
Certified that the above statement made by the student is correct to the best of our knowledge
and belief.
Page | iii
ACKNOWLEDGEMENT
This satisfaction that accompanies the successful completion of this project would be
incomplete without the mention of the people who made it possible, without constant
guidance and encouragement would have made efforts go in vain. I consider myself
privileged to express gratitude and respect to all those who guided us through the
completion of this project.
Last but not least, I wish to thank my parents for financing our studies in this college as
well as for constantly us to learn the knowledge. Their personal sacrifice in providing this
opportunity to learn is greatly acknowledged.
ABSTRACT
Page | iv
Babasaheb Bhimrao Ambedkar
University satellite Campus
(A Center University) Amethi.
ABSTRACT
Author Pallavi Yadav
Title ONLINE FOOD ORDERING
APPLICATION
The year 2022
Language English
Pages 75
The purpose of the online food ordering application is to automate the existing manual system
using computerized equipment and full-fledged computer software, meeting their requirements,
so that their valuable data/information can be stored for a longer period with easy access and
handling. of the same. The required software and hardware are readily available and easy to use.
The online food ordering application, as described above, can lead to an error-free, secure, reliable
and fast management system. This can help the user focus on other activities rather than record
keeping. Thus, it will help the organization to make better use of the resources. The organization
can keep computerized records without redundant entries. This means that one does not need to be
distracted by information that is irrelevant, while still being able to access the information.
The aim is to automate their existing manual system using computerized equipment and
full-fledged computer software, meeting their requirements, so that their valuable
data/information can be stored for a longer period of time with access and easy handling thereof.
Basically, the project describes how to manage for good performance and better services for
customers.
Page | v
Table of Contents
Certificate.…………………………………………………………………………………..ii
Declaration.…………………………………………………………………………………iii
Acknowledgement ………………………………………………………………………….iv
Abstract……………………………………………………………………………………...v
CHAPTERS :
Chapter 1: Introduction…………………………………………………1-5
1.1. Introduction
1.2. Objectives
1.3. Functionalities provided by Online Food Ordering Application are as follows
2.2. iOS
2.3. Flutter
Chapter 5: Design……………………………………...………………..30-34
5.1. Architectural Design
5.2.1 Log In
6.5.1 Testing
Chapter 7: ScreenShot………………………………………………..41-65
Page | vii
Chapter 8: APPENDIX ……………………………………………66-70
Chapter 9: Conclusion & Future Work…………………………71-73
Chapter 10: References…………………………………………….74-75
List of Figures
Fig.2.1 Android
Page | viii
Fig.6.4 Users details
Page | ix
CHAPTER -1
INTRODUCTION
Page | 1
1.1 Introduction
The "Online Food Ordering Application" has been developed to override the problems
prevailing in the practicing manual system. This software is supported to eliminate and in some cases
reduce the hardships faced by this existing system. Moreover this system is designed for the
particular need of the company to carry out operations in a smooth and effective manner.
The application is reduced as much as possible to avoid errors while entering the data. It also
provides error message while entering invalid data. No formal knowledge is needed for the
user to use this system. Thus by this all it proves it is user-friendly. Online Food Ordering
System, as described above, can lead to error free, secure, reliable and fast management
system. It can assist the user to concentrate on their other activities rather to concentrate on the
record keeping. Thus it will help organization in better utilization of resources.
Every organization, whether big or small, has challenges to overcome and managing the
information of Category, Food item, Order, Delivery, Customer. Every Online Food Ordering
Application has different Food item needs, therefore we design exclusive employee
management systems that are adapted to your managerial requirements. This is designed to
assist in strategic planning, and will help you ensure that your organization is equipped with
the right level of information and details for your future goals. Also, for those busy executive
who are always on the go, our systems come with remote access features, which will allow you to
manage your workforce anytime, at all times. These systems will ultimately allow you to better
manage resources
1.2 Objective :
The main objective of the online food ordering system project is to manage the details
of food, category, customer, order and order confirmation. It manages all information about food
products, payment, order confirmation, food products. The project is completely built on the
administrative side and therefore only the administrator has guaranteed access. The goal of the
project is to build an application program to reduce the manual work of food, category, payment
and customer management. It tracks all the details about the customer, the order, the order
confirmation.
Provides the searching facilities based on various factors. Such as Food Item, Customer,
Order, Confirm Order.
Online Food Ordering System also manage the Payment details online for Order details,
Confirm Order details, Food Item.
It tracks all the information of Category, Payment, Order etc
Page | 2
Manage the information of Category
Shows the information and description of the Food Item, Customer
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
Editing, adding and updating of Records is improved which results in proper
resource management of Food Item data.
Manage the information of Order.
Our Project aims at Business process automation, i.e. we have tried to computerize
various processes of Online Food Ordering Application.
In computer system the person has to fill the various forms & number of copies of the
forms can be easily generated at a time.
In computer system, it is not necessary to create the manifest but we can directly print it,
which saves our time.
To assist the staff in capturing the effort spent on their respective working areas.
To utilize resources in an efficient manner by increasing their productivity through
automation.
The system generates types of information that can be used for various purposes.
It satisfy the user requirement.
Be easy to understand by the user and operator
Be easy to operate
Have a good user interface
Page | 3
Be expandable
Food Item Management Module: Used for managing the Food Item details.
Confirm Order Module : Used for managing the details of Confirm Order.
Payment Module : Used for managing the details of Payment.
Category Management Module: Used for managing the information and details of the
Category.
Customer Module : Used for managing the Customer details.
Order Module : Used for managing the Order Informations.
Login Module: Used for managing the login details.
Users Module : Used for managing the users of the system.
1.6 Input Data and Validation of Project on Online Food Ordering Application:
All the fields such as Food Item, Customer, Confirm Order are validated and does not take
invalid values.
Each form for Food Item, Category, Payment can’t accept blank value fields.
Avoiding errors in data.
Controlling amount of input.
Integration of all the modules/forms in the system.
Preparation of the test cases.
Preparation of the possible test data with all the validation checks.
Actual testing done manually.
Recording of all the reproduced errors.
Modifications done for the errors found during testing.
Prepared the test result scripts after rectification of the errors.
Functionality of the entire module/forms.
Validations for user input.
Checking of the Coding standards to be maintained during coding.
Testing the module with all the possible test data.
Testing of the functionality involving all type of calculations etc.
Page | 4
1.7 Features of the Project:
Product and Component based.
Creating & Changing Issues at ease.
Query Issue List to any depth.
Reporting & Charting in more comprehensive way.
User Accounts to control the access and maintain security.
Simple Status & Resolutions.
Multi-level Priorities & Severities.
Targets & Milestones for guiding the programmers.
Attachments & Additional Comments for more information.
Robust database back-end.
Various level of reports available with a lot of filter criteria’s.
It contain better storage capacity.
Accuracy in work.
Easy & fast retrieval of information.
Well designed reports.
Decrease the load of the person involve in existing manual system.
Access of any information individually.
Work becomes very speedy.
Easy to update information.
Page | 5
CHAPTER -2
TOOLS
AND
TECHNOLOGY
Page | 6
The various tools and technologies that are being used in this project are as
follows:-
In 2005, Google acquired Android Inc., Its first software developer. A group of 86
companies, software and telecom companies dedicated to the early standards of mobile
development, the Open Handset Alliance announced in 2007 the launch of the Android
Distribution. The Android code has been released as open source under the Apache license.
Android management and optimization work assigned to the Android Open Source Project
(AOSP).
Android has a large developer community that creates software (or "applications") that
improve hardware functionality. The programmers used the modified version of Java for
most of their work. Apps are available for download through third party websites or online
stores such as Google Play (formerly Android Market), Google Play Store. More than
500,000 Android apps were available as of October 2011 and since December 2011 the
number of apps downloaded from the Android Market has exceeded 10 billion.
Kennelis listed Android as the world's best-selling smartphone platform in the fourth quarter
of 2010, with over 300 million Android smartphones in use in February 2012. Andy Rubin
from Google said that Android smartphones have been available since December 2011.
700,000 procedures are performed every day.
Page | 7
Fig.2.1 Android
1. Android Architecture:
Android has a Linux kernel based channel with C-based middleware, libraries and APIs, as
well as an application program that uses the Apache Harmony based Java libraries. Android
uses the "Dalvik" visual device, which can be used with the Dalvik dexcode (Dalvic
executable), often translated from Java bytecode.
Android platforms are built on ARM architecture. The Android x86 project provides x86
functionality, and Google TV uses a modified version of the Android x86-based operating
system. Although built with Android smartphones and tablets in mind, the open and
customizable software allows it to be used on many other electronic devices, including
laptops, notebooks, smart books, e-book readers, and smart TVs (Google TV). . In addition,
wrist watches, headphones, car CDs and DVD players, smart glasses (project glass),
refrigerators, car systems, home systems, ergonomic games, goggles, cameras, portable
media players, home phones and ceiling machines.
Android devices can report and communicate with Wi-Fi hotspots while roaming mobile
users, resulting in a database of hundreds of millions of locations in real time. These
repositories use electronic maps to locate smartphones, allow applications such as
Foursquare, Latitude and Location, as well as send local notifications.
Page | 8
Fig 2.2 Android Architecture
Page | 9
2. Android Virtual Device (AVD):
Emulator setup for Android Visual Device (AVD), which allows you to create a real device
model by setting the hardware and software parameters that mimic the Android emulator.
The Android Visual Device (AVD) configuration in Android Emulator determines the
characteristics of the Android phone, tablet, ware OS, Android TV or automation system
device you want to clone. AVD Manager from Android Studio is a simple interface that
allows you to create and manage AVD devices.
Fig.2.3 AVD
Android Studio is a development platform for the Android platform that includes the
Integrated Programming Environment (IDE. Android Studio is an open source software
licensed under the Apache 2.0 license. Since version 0.1 in May 2013, Android Studio is in
the pre-arrival stage and since version 0.8 in June 2014, it has been upgraded to beta.
Starting with version 1.0, the first stable release was published in December 2014.
With each release of Android Studio, more features are planned to be added. The current
version has the following features:
Page | 10
• Real Time Editing: WYSIWYG Editor - Live Encoder - Instant App Download
• Android Wear version 4.6 is supported. SDK for Android
• Assistance in building based on gradients.
• Features Fluffy tools to capture features, usability, version compatibility and other
issues.
• Features Templates for creating Android designs with simple features are available
via links.
• Sign application signature and pro-guard features.
• Interface Comprehensive layout editor that allows users to drag and drop user
interface elements, as well as preview themes on the big screen.
The process of creating new Android applications is called Android software development.
The Android Software Development Kit is often used to create applications, but additional
development tools are available.
The Android Software Programming Kit (SDK) includes comprehensive development tools.
De Debugger is one of them.
Page | 11
2.2. iOS :
It is a mobile operating system developed by Apple Inc. for its hardware, for example, iPhone and
iPad. It is an operating system that supports the iPhone and iPod Touch; it also provided support
for the iPad before introducing iPad OS in 2019. It is the second most popular mobile operating
system globally after Android.
1. Features of iOS :
Interface
Apple iOS provides a user-friendly interface that uses multi-touch gestures like swipe, tap, pinch,
etc., to facilitate the users interacting with the applications. The users can trigger any event using
switches, buttons and sliders. It uses internal accelerometers to respond to shaking the device or
rotating in 3D.
In-App purchase
The iOS users can purchase various content like subscriptions, services and new features within
the application. Users can make in-app purchases on iOS, iPad OS, macOS, watch OS, and tv OS.
Apple Pay
Apple pay can be integrated into iOS applications to provide an easy and secure way to make
payments. The authorization for the Apple Pay can be done using Face ID and Touch ID.
Home Screen
The home screen in the iOS device contains the widget and app icons to launch the applications. It
displays the dock at the bottom where we can pin the most frequently used applications.
Orientations
Camera integration
Apple provides AV Foundation Capture Subsystem, a common high-level architecture for audio,
images, and video capturing services in iOS.
Location services
Page | 12
With the user's permission, the Location Services allow the applications and website to access the
user's device location. The black or white arrow icon is shown in the status bar whenever the
location services are active.
Maps
Apple provides a web mapping service to be used as the default map system for iOS. It includes
various features like flyover mode. To develop applications that use maps, we can use MapKit
provided by Apple.
Accessibility
The apple provides various Accessibility features to be used for people with vision and hearing
disabilities. The features like voiceover provide a voice reading information that appears on the
screen. It allows the user to communicate with the OS with gestures. Apple keeps updating
accessibility to provide new features like pronunciation editor, which can be used with the voice
over, with iOS 10 in 2016.
2.3 Flutter :
Flutter is Google’s free, open-source software development kit (SDK) for cross-platform mobile
application development. Using a single platform-agnostic codebase, Flutter helps developers
build high-performance, scalable applications with attractive and functional user interfaces for
Android or IOS. Flutter relies on a library of pre-made widgets that make it simple for even people
with limited programming or development experience to launch their own mobile applications
quickly. Flutter is a layered system comprising the framework, the engine, and platform-specific
embedders. Flutter applications are built using Google’s Dart object-oriented programming
language. The Flutter engine itself is written primarily in C/C++. And the Skia library is the
backbone of Flutter’s graphics capabilities.
Page | 13
Fig.2.5 flutter
1. History of Flutter:
Flutter is a free and open-source UI software development kit introduced by Google. It is used to
build applications for Android, iOS, Windows, and the web. The first version of Flutter was
announced in the year 2015 at the Dart Developer Summit. It was initially known as
codename "Sky" and can run on the Android OS. After the announcement of Flutter, the first
Flutter Alpha version (v-0.06) was released in May 2017.
Later, during the keynote of Google Developer days in Shanghai, Google launched
the second preview of Flutter in September 2018 that was the last big release before Flutter 1.0
version. On December 4, 2018, the first stable version of the Flutter framework was released at
the Flutter Live event, denoting Flutter 1.0. The current stable release of the framework is Flutter
v1.9.1+hotfix.6 on October 24, 2019.
Page | 14
Fig.2.6 Features of Flutter
2. Advantages of Flutter:
Flutter comes with beautiful and customizable widgets for high performance and outstanding
mobile application. It fulfills all the custom needs and requirements. Flutter offers many more
advantages as mentioned below −
Dart has a large repository of software packages which lets you to extend the capabilities
of your application.
Developers need to write just a single code base for both applications (both Android and
iOS platforms). Flutter may to be extended to other platform as well in the future.
Flutter needs lesser testing. Because of its single code base, it is sufficient if we write
automated tests once for both the platforms.
Flutter’s simplicity makes it a good candidate for fast development. Its customization
capability and extendibility makes it even more powerful.
With Flutter, developers has full control over the widgets and its layout.
Flutter offers great developer tools, with amazing hot reload.
3. Disadvantages of Flutter :
Flutter has the following drawbacks in it −
Since it is coded in Dart language, a developer needs to learn new language (though it is
easy to learn).
Modern framework tries to separate logic and UI as much as possible but, in Flutter, user
interface and logic is intermixed. We can overcome this using smart coding and using
high level module to separate user interface and logic.
Page | 15
2.4 Dart Programming Language:
Dart is a dynamic, class-based, object-oriented programming language with closure and lexical
scope. Syntactically, it is quite similar to Java, C, and JavaScript. If you know any of these
programming languages, you can easily learn the Dart programming language.
Dart is an open-source programming language which is widely used to develop the mobile
application, modern web-applications, desktop application, and the Internet of Things (IoT) using
by Flutter framework. It also supports a few advance concepts such as interfaces, mixins, abstract
classes, refield generics, and type interface. It is a compiled language and supports two types of
compilation techniques.
AOT (Ahead of Time) - It converts the Dart code in the optimized JavaScript code with
the help of the dar2js compiler and runs on all modern web-browser. It compiles the code
at build time.
JOT (Just-In-Time) - It converts the byte code in the machine code (native code), but
only code that is necessary.
Page | 16
1. History:
Dart was revealed for the first time in the GOTO conference in the month of 10 th - 12th October
2011 at Aarhus, Denmark. It is initially designed by the Lars bark and Kespar and developed by
Google.
The first version 1.0 of Dart was released on November 14 th, 2013, intended as a replacement
of JavaScript.
In July 2014, the first edition of Dart language was approved by Ecma International approved at its
107th General Assembly.
The first version was criticized due to a malfunction on the web and this plan was dropped in 2015
with the 1.9 release of Dart.
The second version of Dart 2.0 was released in August, including a sound type system.
The recent version Dart 2.7 is supplemented with the extension method, which enables us to add
any type of functionality.
2. Characteristics of Dart:
Page | 17
Fig.2.8 Dart Features
Page | 18
CHAPTER – 3
REQUIREMENT
ANALYSIS
3.1 Background:
Page | 19
Based on the online food ordering Application’s requirements. An application that allows
recruiters to outline food with required information for which food lovers can view and
order according to their interests and an android application that displays the foods that are
available and order by the favorite restaurants. The android application is developed using
Dart programming language and Firebase.
SDLC :-
SDLC Models
There are various software development life cycle models defined and designed which are
followed during the software development process. These models are also referred as Software
Development Process Models". Each process model follows a Series of steps unique to its type to
ensure success in the process of software development.
Page | 20
Following are the most important and popular SDLC models followed in the industry −
Waterfall Model
Iterative Model
Spiral Model
V-Model
Big Bang Model
We use the waterfall model because it is easy to use and modify. Waterfall model is the simplest
model we can use in online food ordering app, it can easily establish and implement the change of
this model. This type of pattern makes changes again and again. We check all the steps if they are
wrong.
Waterfall Model
Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure
success of the project. In "The Waterfall" approach, the whole process of software development is
divided into separate phases. In this Waterfall model, typically, the outcome of one phase acts as
the input for the next phase sequentially. The sequential phases in Waterfall model are −
Requirement Gathering and analysis − All possible requirements of the system to be
developed are captured in this phase and documented in a requirement specification
document.
System Design − The requirement specifications from first phase are studied in this phase
and the system design is prepared. This system design helps in specifying hardware and
system requirements and helps in defining the overall system architecture.
Implementation − With inputs from the system design, the system is first developed in
small programs called units, which are integrated in the next phase. Each unit is developed
and tested for its functionality, which is referred to as Unit Testing.
Integration and Testing − All the units developed in the implementation phase are
integrated into a system after testing of each unit. Post integration the entire system is
tested for any faults and failures.
Deployment of system − Once the functional and non-functional testing is done; the
product is deployed in the customer environment or released into the market.
Maintenance − There are some issues which come up in the client environment. To fix
those issues, patches are released. Also to enhance the product some better versions are
released. Maintenance is done to deliver these changes in the customer environment.
Page | 21
Fig.3.2 Waterfall Models
Advantages
Simple and easy to understand and use
Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a
review process.
Phases are processed and completed one at a time.
Works well for smaller projects where requirements are very well understood.
Disadvantages
No working software is produced until late during the life cycle.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
Page | 22
Order Management
The system shall let the user to place an order for their consumers.
The system shall prompt and ask user to verify the order that have been
placed.
The system shall allow user to add in extra remark regarding the order.
The system shall allow user to void the order that mistakenly placed or
exceptional case occur.
Reporting Management
The system shall generate a report that based on the time period that
customize by user.
The system shall retrieve related information from the database and
generate the report to user.
Menu Management:
The system shall only allow management level user to edit the menu
card information by having an authorization login checking.
The system shall allow user to update their restaurant menu card
information.
The system shall save the updated menu card information to the
database.
Billing Management:
The system shall retrieve data that needed and arrange in a meaningful
structure then print for user as a reference.
The system shall let user to choose the payment channel that they wish
to use.
The system shall calculate the total amount of money that need to
submit to government at the end of the month.
The system will update the queue display whenever a new order is
placed.
The system will merge the amount identical food that needs to be
prepared and display on the screen.
Page | 23
Fig.3.3 Ordering System Module
Operational Requirements:
Performance Requirements :
The system should let user to place an order in a short period of time.
The system should complete perform the billing process in a short
period of time.
Page | 24
Security Requirements:
Usability Requirement:
The system should have an easy understand graphic user interface that
deal with the user.
The system should let user easy to understand the functionality of each
modules.
Hardware:
Intel ® Core i3 CPU 3.0 GHz or above
8GM RAM
500GB Hard Disk Drive (HDD) + 24G Solid State Drive (SSD)
USB port 3.0
Monitor
Wireless Access Point
Software :
Page | 25
CHAPTER-4
DATA FLOW DIAGRAM
Page | 26
This is a data flow diagram (DFD), which shows the process of ordering food via
online catering system. The oval shape signifies an entity or a user. The boxes in the
middle of the diagram are the process box. The process box displays the number of processes
and its description. The boxes on the right side of the diagram are the data store.
The box represents when data is stored. Between the squares and the oval
form shows the data flow. The main purpose of a DFD is to show the flow of data
while doing a process. The DFD of the food ordering process for users.
Page | 27
Fig.4.2 Use case Diagram
Page | 28
Fig.4.3 Context level DFD for Online food system
Page | 29
CHAPTER -5
DESIGN
Page | 30
5.1 Architectural Design:
Service customer, mess/restaurant owner and mess worker. When a person moves to a new city,
they need to find a clean, high-quality source of food. She will therefore explore and select a
restaurant based on its category.
The pattern in which the user will search for the services for a specific purpose The GPS system
must be enabled and part of the Geo Hashing algorithm is used. The person can be given the
option to search for a service by location which is the location of the person's home is detected
with GPS and the nearby service is searched based on the location of the selected option.
Searching by cost is another way.
Search by rating is also possible by our system. The list of services is given if it matches the
ratings given by the user when the services that have ratings are checked with him. The search can
be done by accepting the user's distance where they need to search and displaying the remote
service provider.
Page | 31
Fig.5.2 Admin Controller
Page | 32
Fig.5.3 Background Management Platform Login
1. Add Category:
In the Product Management, by clicking “Category Manage”, a list view page of current
existing dishes will be shown. By clicking “Add Category” button, the right frame will jump
to the category adding UI. Required data is filled in, then it is confirmed, and a dish will be
added successfully. At the same time, the right frame will jump back to the category list view
page, the new added dish will be displayed on this page.
Page | 33
2. Modify Category:
On the category list view page, every category item provides a “Modify” button, by using this
button, the administrator can modify the existing dish information.
After adding categories, administrator can add dishes belong to different categories in Product
Management module. In the Product Management, there is a similar logic to that in Product
Category Management, such as adding, modifying and querying. Therefore, no detailed
description is given here.
The default state of produced order is unchecked, and the administrator can decide to change
the state to waiting deliver or cancel. For waiting deliver state order, the administrator can
change state to delivered or cancel. But for delivered order, the state cannot be changed any
more.
Page | 34
CHAPTER -6
IMPLEMENTATION
&
TESTING
Page | 35
6.1iImplementationiofiAuthentication::
iMostiprogramsirequireiuseriidentification.iKnowingitheiidentityiofitheiuseriallowsitheiappi
toisecurelyistoreiuseridataiinitheicloudiandigiveiaiconsistent,ipersonalizediexperienceiacrossi
alliuseridevices.Providesiusersiwithiauthenticationiforiyouriapplication,ifirebaseiauthenticationi
themediservices,ieasytouseiSDKsiandipasswords,iphoneinumbersiandiconfigurableiUIiframework
thatiacceptipopulariidentityiprovidersisuchiasiGoogle,iFacebookiandiTwitter.Integratingifirebasei
authenticationiwithiyouribackendiisieasyibecauseiitiworksiseamlesslyiwithiotherifirebaseiservicesi
andimeetsiindustryistandardsisuchiasiOAuthi2.0iandiOpenIDiFriendiConnect.
Howidoesiitiwork?
ii
iToiaddiaiuseritoiyouriapplication,iyouimustifirstiobtainitheiuser'siverificationicredentials.i
Examplesiofisuchitokensiareitheiuser'siemailiaddressiandipasswordioriOAuthitokenifromiai
sharediidentifieriprovider.iTheiproofiisithenisubmitteditoitheifirebaseiauthenticationiSDK.iThei
credentialsiareitheniverifiedithroughiourithematiciservicesiandigeticustomerifeedback.
Youicaniaccessibasiciuseriprofileiinformationiandirestrictiuseriaccessitoidataisavedioniotheri
firebaseiproductsiafterisuccessfulilogin.iYouicanialsoiuseitheiauthenticationicodeiprovidedi
toiverifyitheiidentityioficustomersiiniyouribackgroundiservices.
VerifiediusersireadiandiwriteiaccessitoitheiFirebaseirealtimeidatabaseiandicloudistorageibyi
default.iByiupdatingitheiFirebaseirealtimeidatabaseiandicloudistorageisecurityirules,iyouimayi
restrictiaccessitoicertainiusers.
Page | 36
Implementation paths
Page | 37
Fig.6.2 Authentication
Once the authentication concept is built, you may want to use the user profile management
feature in your application. While Auth UI does not offer this (other than consistent requests
from the public), it is much easier to do it ourselves.
We use Firebase as a real-time database for this project. Since Firebase stores all data
as a JSON tree format, the entire database of our project is stored as a JSON file.
Every database is a JSON item and the data business is the object user. Businesses
have their own JSON assets which are the conditions of each business. These JSON
items have different ids. In these case the attributes are retained as two significant
values. There is also a JSON set of high-value symbols. Firebase is easy to trace but
there is a problem too. Since this is a non-SQL history, the queries are not the same as
standard SQL queries. There is no concept of a key or an external key. But this can be
achieved by building a JSON tree. As this is a new concept in the database, this may
seem confusing but this could be a great way to store big data soon.
Navigation is the interaction that allows users to navigate, enter and exit through the
various information in your application. The navigation component of the Android
Jetpack helps you to implement navigation from basic button clicks to complex styles
such as app bars and navigation drawers.
Page | 39
6.5 Testing Implementation:
6.5.1 Testing :
Any project with a development program must have the test The primary goal of the
test is to ensure the quality, reliability, trustworthiness and quality of the application.
The project uses Android software for an electronic card sharing system.
Every piece of software has been tasted to ensure the design is flawless. As a result, we
can make sure that every part of the program works properly.
There are two pieces in the unit test case. Database and interface processors are two
different types of processors. Login, card design, share card and card removal are
some of the basic functions we use in our software. The database wizard checks these
three actions. As a result, our database wizard test cases now look like this. The user
can log in effortlessly using his phone. The user can quickly create a creative card,
share it with others and save or remove it.
The implementation phase is final and important. Participate in user training, system testing
and efficient operation of the designed system.
Page | 40
CHAPTER -7
SCREENSHOT
Page | 41
7.1 APP LOGO:
The first things you need to understand when setting out to create an icon is
what exactly an app icon is and what job it performs. An app icon is a visual
anchor for your product. Think of it as a tiny piece of branding that not only
needs to look attractive and stand out, but ideally also communicates the
essence of your application.
Page | 42
7.2 SELLER’S APP
Welcome Screen:
Android Introduction Slider is basically used to introduce the major features of
the application to the user. It also attracts and helps the user to know about the
app. It is also called android welcome screen and is used to guide the user on
how to use the app just after installation. It is used in almost all popular apps
and games these days.
Fig.1 SplashScreen
Authentication Page
Page | 43
Fig.2 Login Page
Page | 44
Fig.3 Register Page
Page | 45
Fig.4 My Drawer Page
Page | 46
Fig.5 My Menus Page
Page | 47
Fig.6 Add Items Page
Page | 48
Fig.7 Delete this Item Page
Page | 49
7.3 USERS APP
Fig.8 SplashScreen
Page | 50
Fig.9 Login Page
Page | 51
Fig.10 Register Page
Page | 52
Fig.11 Home Page
Page | 53
Fig.12 Items Selection Page
Page | 54
Fig.13 Users Drawer
Page | 55
Fig.14 Add to Cart
Page | 56
Fig.15 Cart List Page
Page | 57
Fig.16 My Orders
Page | 58
Fig.17 Add Address Page
Page | 59
Fig.18 Order Place Page
Page | 60
Fig.19 Order Confirm
Page | 61
RIDERS APP
Page | 62
Fig.21 Riders App Home Page
Page | 63
Fig.22 New Available Orders
Page | 64
Fig.23 Order Parcel in Page
Page | 65
CHAPTER – 8
APPENDIX
Page | 66
Appendix I
Firebase:
Google's Firebase technology allows developers to create mobile and online applications. It
started as a private company in 2011. Google acquired the platform in 2014 and is currently
the company's most important contributor to application development.
Envelope, founded in 2011 by James Tomplin and Andrew Lee, gave birth to Firebase.
Envolve has introduced an API for developers that allows them to add online chat features
to their websites. Tomplin and Lee discovered that the chat service was being used to send
application information that did not contain chat messages after the chat service was
removed. Envelope has been used by developers to sync app-like data with their customers'
real-time games. Tomblin and Lee decided to separate the negotiation system from real-time
construction. In September 2011, they founded Firebase as a premium company, and in
April 2012 they formed a community.
The Firebase Realtime Database is the company's initial product that syncs application data
across all iOS, Android and web devices and saves it in the Firebase cloud. Software
developers can use the tool to create real-time collaborative applications.
The Firebase platform has 18 products, divided into three categories: Upgrade, Quality and
Growth.
Fig.8.1 Firebase
Page | 67
Dependencies :
The references used in the relations between components are typed using concrete classes or
abstract classes. Interface dependencies: The references used in the relations between
components are typed using only interfaces
Page | 68
Fig.8.3 Users App Dependencies
Page | 69
Fig.8.4 Riders App Dependencies
Page | 70
CHAPTER – 9
CONCLUSION
AND
FUTURE WORK
Conclusion:
Page | 71
The main objective of the application is to help Computer Science students
understands the basics of Dart. The following results have been achieved
after completing the system and relate back to the system’s objective.
• Should allow Computer Science students to browse through the
code and application: This can be achieved when students are able
to run and install the application. When they run the application,
they can browse through the implementation of different objects.
Future Work:
Page | 72
The following section describes the work that will be implemented with
future releases of the software.
• Customize orders: Allow customers to customize food orders.
• Enhance User Interface by adding more user interactive features.
Provide Deals and promotional Offer details to home page. Provide
Recipes of the Week/Day to Home Page.
• Payment Options: Add different payment options such as PayPal,
Cash, Gift Cards etc. Allow to save payment details for future use.
• Allow to process an order as a Guest
• Delivery Options: Add delivery option
• Order Process Estimate: Provide customer a visual graphical order
status bar
• Order Status: Show only Active orders to Restaurant Employees.
• Order Ready notification: Send an Order Ready notification to the
customer
• Restaurant Locator: Allow to find and choose a nearby restaurant
Page | 73
CHAPTER - 10
REFERENCES
Page | 74
[1] “Github” Learn Android Development: https://github.com/topics/android-app
[2] “Android” https://www.android.com/
Page | 75