1.1 Introduction To Parking: Park My Wheels
1.1 Introduction To Parking: Park My Wheels
CHAPTER 1
INTRODUCTION
These days transportation has been of major issue. Roadways are one of the most used
means of transportation which mostly includes private passenger cars. Over use of cars
creates various problems such as increased traffic, parking congestion and many more.
So, we’ll promote use of Park My Wheels in order to tackle these problems. Over the
years, car parking systems and the accompanying technologies have increased and
diversified. Car parking systems have been around almost since the time cars were
invented. In any area where there is a significant amount of traffic, there are car parking
systems. Car Parking systems were developed in the early 20th century in response to
the need for storage space for vehicles.
While on the other hand, the vehicle mixes in urban areas has aggravated the problem
of congestion and air pollution. With growing traffic congestion, thousands of
disappointed drivers in the urban areas are finding that rush hour traffic is slowing to a
crawl which in turn leads to waste of the precious time and also make the drivers
exhausted.
These days transportation has been of major issue. Roadways are one of the most used
means of transportation which mostly includes private passenger cars. Over use of
cars creates various problems such as increased traffic, parking congestion and many
more. So we’ll promote use of valet drivers for parking of the cars in order to solve
the problem as well as to save the time of our customers.
Over use of cars creates various problems such as increased traffic, increase pollution,
parking congestion and many more. So we’ll promote use of valet drivers for parking
of the cars inorder to solve the problem as well as to save the time of our customers.
2. It is also quite well documented and sources can be found on Internet to learn how
developing applications for this platform.
Since the number of vehicles have increased so much which further creates the
problems like traffic and parking problems in which the peoples waste their precious
time in parking their cars. So by getting registered to our app the users will get the
facility to book their valet drivers everytime whenever they go out where our valet
drivers would be parking their cars and will also be delivering their car at the desired
location which would save the customers precious time which they could use to do
their work.
Android is an open source operating system, and thus allows reusing some
pieces of program to create a new application.
It is also quite well documented and sources can be found on Internet to learn
how developing applications for this platform.
This application will allow the users to get registered to our app first and then use this
app on every time whenever they are going out somewhere for work.Theapplication is
time effective as it allows the user to park their car by the help of our Valet drivers
easily and effectively which would directly save their time.
The primary goal of this project was to create a system that makes parkingmore
convenient, secure, and cost-efficient for university students. We also wanted to create
such a system that provides incentives to those who valet drivers. Because limited
parking spaces are part of the fundamental problem, we decided to focus our incentive
plan on providing dedicated valet drivers all around that could be helpful to park the
car of the users easily without wasting their precious time.To achieve these goals, we
created two separate components that together creates our system known as “This
application.”
The two components of This application are an Android mobile application and a
backend system FIREBASE. We developed a mobile application that allows users to
easily create and join valet drivers with the users. It is user-friendly, has automatic
matching abilities, and proper indication of car parking by the valet drivers on the
application.
Park My Wheels will allow the users to get registered to our app first and then use this
app on everytime whenever they are going out somewhere for work. Since the number
of vehicles have increased so much which further creates the problems like traffic and
parking problems in which the peoples waste their precious time in parking their cars.
So by getting registered to our app the users will get the facility to book their valet
drivers everytime whenever they go out where our valet drivers would be parking their
cars and will also be delivering their car at the desired location which would save the
customers precious time which they could use to do their work.
Traffic and Parking are a couple major concerns in populated urban areas. SRMGPC
is no exception in this matter especially since the city has a State University in the very
heart of its downtown.
Apart from traffic, parking is another issue SRMGPC parking structures hold very few
parking spots which are not nearly enough for a weekday traffic. In such conditions, an
apt solution would be properly manage the parking problems which can be effective
achieved by an efficient parking system.Since the number of vehicles have increased
so much which further creates the problems like traffic and parking problems in which
the peoples waste their precious time in parking their cars.
1.3.2 Motivation
The Parking android application under consideration, is a novel idea in tackling various
transportation issues. This became our source of motivation for going ahead with this
project. All the current ridesharing methods are:
1. Time consuming.
2. Require a lot of before-hand planning.
Require several rounds of communications in the form of series of e-mails or a series
of telephonic conversations.
Also, the motive behind the project is the extreme situation of pollution in country
where various formula to restrict the on-road vehicles has failed. So, in this situation
the Ridesharing would be of better choice for country’s people for better transportation
and lesser pollution.
With our system, we strived to get the support and attention of areas that lack
alternative transportation solutions, and universities that have an exceedingly high
amount of traffic-related issues around their campus. We believe to have the ability to
impact the following areas:
Our project encourages valet parking within college communities as they don’t have
to think much about parking as our valet drivers would be present for them to car their
cars. By choosing to parking, they help give their contribution in solving problems
like traffic jam or traffic chaos. Also, reduced pollution will result in healthy bodies
and less contamination of air.
The future success of this application will have a major impact in the transportation
industry. It has the capabilities to compete with other transportation applications like
Uber and Luxe, and because it’s designed to service a specific group of commuters in
need, other transportation solutions will be highly affected–reducing the amount of their
users.
In this document, we will be discussing every aspect of our project. This includes
chapters about information obtained from research done, project requirements,
system design, and system implementation. The following list includes a number of
details that will be discussed in each chapter of this document.
III. Chapter 4 documents our entire result analysis and discussions and this
application system design. It contains architecture designs of our mobile
application as well as the parking system. It also provides extensive detail of
our interface design, logic design, database design. In addition, the final
section discusses our design constraints, problems, trade-offs and solutions.
IV. Chapter 5 explains our system implementation. The sections include an
overview of our implementation, and what techniques and methods we used
to implement our developed solution to traffic and parking issues. It also
describes the challenges we had during our project and the learning outcome
from this project.
CHAPTER 2
TECHNOLOGY AND LITERATURE
REVIEW
To meet our primary goal of developing a parking system that is secure, convenient,
and cost-efficient for students, we designed it with inexpensive technologies that
integrate harmoniously together. We were able to learn more about technologies that
we learned about in previous courses as well as recent ones that improved our design.
Our Android mobile application was developed with a number of technologies that
each member of this project is now fairly familiar with. The application was created
with Android Studio, and was designed with Android’s programming architecture that
is similar to a Model-View-Controller architecture. It was also created with Java,
therefore, a strong knowledge in Java programming structures like anonymous inner
class, various design patterns like Adapter, and object-oriented design concepts were
required to develop a proper Android application.
The back-end of the software uses Google’s Firebase Realtime Database. It uses a
semi-structured, non-relational database design, and requires no SQL code. In
addition, Google provides an online console for Firebase that allows developers to
view and control their stored data. The database stores all core model components of
the system such as user information, drive offer and ride request posts, and pool-up
data. Additionally, the front-end of the application uses Android layouts with XML to
design and organize the view components. It was essential for each member to
understand Android’s material design and design standards to create a professional
and easy-to-learn user interface. Furthermore, we have incorporated a few APIs for
Google Maps and Android Firebase.
With the help of recent courses, we have taken in our college years, we learned the
fundamentals of a few core technologies used in our system. A number of our
undergraduate courses such as Introduction to Java Programming, Data Structures and
Object-Oriented Design allowed us to gain more skills and knowledge in Java that are
required to develop our Android application. We also become familiar with Android
mobile development after taking Wireless Mobile Development, and learned how to
effectively work with groups from Software Engineering courses. Furthermore, the
most recent course we have taken to strengthen our project idea was a course on IoT.
In this course, we learned about smart-parking, sensors, and Amazon AWS that are
used for our parking system component.
2.1.1 ANDROID
Android delivers a complete set of software for mobile devices: an operating system,
middleware and key mobile applications.
Open source:
Android was built from the ground-up to enable developers to create compelling
mobile applications that take full advantage of all a handset has to offer. It was built
to be truly open. For example, an application can call upon any of the phone’s core
functionality such as making calls, sending text messages, or using the camera,
allowing developers to create richer and more cohesive experiences for users.
Android is built on the open Linux Kernel. Furthermore, it utilizes a custom virtual
machine that was designed to optimize memory and hardware resources in a mobile
environment. Android is open source; it can be liberally extended to incorporate
new cutting-edge technologies as they emerge. The platform will continue to evolve
as the developer community works together to build innovative mobile applications.
Fast & easy application development:
Android provides access to a wide range of useful libraries and tools that can be
used to build rich applications. For example, Android enables developers to obtain
the location of the device, and allows devices to communicate with one another
enabling rich peer–to–peer social applications. In addition, Android includes a full
set of tools that have been built from the ground up alongside the platform providing
developers with high productivity and deep insight into their applications.
Android Studio is the official Integrated Development Environment (IDE) for Android
app development, based on IntelliJIDEA . On top of IntelliJ's powerful code editor and
developer tools, Android Studio offers even more features that enhance your
productivity when building Android apps, such as:
A unified environment where you can develop for all Android devices
Instant Run to push changes to your running app without building a new APK
Code templates and GitHub integration to help you build common app features
and import sample code
Built-in support for Google Cloud Platform, making it easy to integrate Google
Cloud Messaging and App Engine.
Easy debugging.
Instant run feature enables user to build the application fast and easily.
3). FIREBASE
Firebase is a mobile and web app development platform that provides developers with
a plethora of tools and services to help them develop high-quality apps, grow their user
base, and earn more profit.
After it was acquired by Google in 2014, Firebase rapidly evolved into the
multifunctional behemoth of a mobile and web platform that it is today.
Firebase Services:
Test Lab : Run automatic and customized tests for your app on virtual and
physical devices hosted by Google. Use Firebase Test Lab throughout your
development lifecycle to discover bugs and inconsistencies so that you can
offer up a great experience on a wide variety of devices.
which issues to tackle first by seeing the user impact right in the Crashlytics
dashboard. Realtime alerts will help you stay on top of stability even on the
go.
Cloud Functions : Extend your app with custom backend code without
needing to manage and scale your own servers. Functions can be triggered
by events, which are emitted by Firebase products, Google Cloud services,
or third parties, using web hooks.
Firestore : Store and sync data between users and devices - at global scale -
using a cloud-hosted, NoSQL database. Cloud Firestore gives you live
synchronization and offline support along with efficient data queries. Its
integration with other Firebase products enables you to build truly serverless
apps.
Cloud Storage : Store and share user-generated content like images, audio,
and video with powerful, simple, and cost-effective object storage built for
Google scale. The Firebase SDKs for Cloud Storage add Google security to
file uploads and downloads for your Firebase apps, regardless of network
quality.
Hosting : Simplify your web hosting with tools made specifically for
modern web apps. When you upload your web assets, we automatically push
them out to our global CDN and give them a free SSL certificate so your
users get a secure, reliable, low-latency experience, no matter where they
are.
Remote Config : Customize how your app renders for each user. Change the
look and feel, roll out features gradually, run A/B tests, deliver customized
content to certain users, or make other updates without deploying a new
versionall from the Firebase console. Monitor the impact of your changes
and make adjustments in a matter of minutes.
App Indexing : Re-engage users with their installed apps with this Google
Search integration. If users have your app and they search for related
content, they could launch it directly from the results. If users don't have
your app yet, an installation card shows up when they search for similar apps
The United States is the 4th largest country in the world (List of Countries by Area),
and along with that the country ranks at 176th position in population density, with
32.45 people per square kilometer (Population Density - Country Comparison). Such
a low average population density over such a vast area brings an essential market for
cars. 83 million cars were sold in 2013, which included 15.6 million in the U.S alone
(Global New Car Sales in 2013 Top 83Million). That means on an average, 42,740
cars were sold in a day in the country. Thecommercialization of personal vehicles is
so extensive that they have become a significant part of an average American’s life.
So much so that on an average, each one of us spends 42 hours in traffic in a year (
INRIX Global Traffic Scorecard). Things get worse if we focus on the West Coast,
specifically California. Los Angeles has the most congested traffic in the world, where
according to research each driver spends an average of 104.1 hours in traffic annually,
with number four being San Francisco, another Californian city (INRIX Global Traffic
Scorecard). Vehicular usage of such scale brings vast amount of environmental
problems with it. In 201630.27 million short tons of carbon monoxide were emitted
by the on-road vehicles of the country alone (Estimated National Emission of Carbon
Monoxide).
This emission has catastrophic effects since on an average, carbon monoxide causes
430 deaths per year (Average Annual Number ofDeaths and Death Rates from
Unintentional, Non-Fire Related Carbon Monoxide Poisoning).Apart from that,
vehicles also emit other harmful gases such as nitrogen oxide. Over six million short
tons of nitrogen oxide were produced by vehicles in America in 2016 (
EstimatedNationalEmissions of Nitrogen Oxides). Such a vast amount of nitrogen
oxide leads to majorenvironmental concerns regarding climate change that will
eventually lead to grave issues such as rising in sea levels, which has already increased
by 860% since 2005 (Climate Change:Global Sea Level).
In addition to traffic and pollution, parking is another major issue as it’s also another
cause of traffic and falls under an environmental concern.India is facing a new problem
nowadays – lack of sufficient parking space. With families getting smaller and the total
number of motor vehicles exceeding the total number of heads per family, the parking
scenario is woefully falling short of the current requirements in the country. The
situation is such that on any given working day approximately 40% of the roads in
urban India are taken up for just parking the cars. The problem has been further
exacerbated by the fact that nowadays even people from low income group are able to
own cars. The number of families with cars has become much more than what the
country is able to manage.As it is, the cities in India are highly congested and on top
of that the parked cars claim a lot of space that could otherwise be used in a better way.
Understanding the causes of these effects of traffic and parking problems leads us to
the root of the problem we focus on solving: excessive vehicles on the road. There have
been alternative transportation solutions that were put into effect, such as public
transportation options and ride-sharing applications, all of which aim to reduce the
number of cars on the street. Each alternative, however, has flaws of its own that defeats
its initial purpose. Public transportation options lack reliability as their arrival can be
delayed. They can also be seen as a bit inconvenient in terms of time and location of
the stations. Safety is usually the biggest concern commuters have as they ride with
strangers on public transportations, as well as the costs for ride-sharing services.
One of the most effective solutions to solve crowded cities is Park My Wheels.The
main advantage of valet parking is convenience. Customers do not have to walk from a
distant parking spot carrying heavy loads. Many handicapped drivers rely on valet
parking when they can't walk from and to a distant parking spot. Likewise, people who
do not have time to search for a parking spot can valet park without the hassle. Valet
parking is especially convenient in bad weather. Most professional valet attendants are
well insured, and knowledgeable about nearly every make and model of car and their
quirks; including aftermarket alarm systems, and keyless ignitions.
An advantage of valet parking is that it is possible to pack more cars into a given
physical space, in what is generally known as "stack parking". The valet holds all the
keys and can park the cars two or more deep, as he can move cars out of the way to free
a blocked-in car.
Fig 1: Plots the percentage of time drivers spend looking for parking as the system settles to
equilibrium. Each line represents the differing numbers of drivers participating in information
sharing. Information sharing reduces congestion.
Fig2 :Plots the percentage of time drivers spend looking for parking as the system settles to
equilibrium. Here, the departure rate for the garages is much lower than in the simulation used in
Figure 1, leading to much more cruising.
Fig 3: Plots the percentage of time drivers spend looking for parking as the system settles to
equilibrium. Performance decreases when there is a small number of people sharing information and
increases as more people share information.
By park my wheels, Customers do not have to walk from a distant parking spot carrying
heavy loads. Many handicapped drivers rely on valet parking when they can't walk from
and to a distant parking spot. Likewise, people who do not have time to search for a
parking spot can valet park without the hassle. Valet parking is especially convenient
in bad weather. Most professional valet attendants are well insured, and knowledgeable
about nearly every make and model of car and their quirks; including aftermarket alarm
systems, and keyless ignitions.
An advantage of valet parking is that it is possible to pack more cars into a given
physical space, in what is generally known as "stack parking". The valet holds all the
keys and can park the cars two or more deep, as he can move cars out of the way to free
a blocked-in car.
Another type of stacking is called lane stacking. This method is useful for events where
guests arrive at around the same time, such as for a wedding reception. The point of
this procedure is to keep the lane (or lanes) of incoming traffic flowing forward so that
guests are spared a long wait time for valet service. This method is usually
accomplished by designating one or two of the valets to be "stackers", who simply
"push" each car up fifty feet or so and prepare it for a quick "takeaway" for a returning
valet to park. The process is then repeated until all cars are parked, utilizing as much
lane space as possible, meanwhile keeping the lanes moving.
An additional advantage of valet parking, aside from stacking, is that valets can park
cars closer and straighter than some customers may park. This will save the space in
the parking lot or garage, and prevent the inconvenience of going to different floors by
cramming everything in.
An efficient valet service will implement (or at least prepare) a system to handle the
expected number of cars and guests. This may include, but is not limited to, any of the
following: designated greeters, stackers, and parkers, a system for marking car
locations, and sometimes even a shuttle service for valets at large venues in order to
expedite car return times at the end of the event.
front, having the doors opened for the guest, and in rare cases cleaning and detailing of
the vehicle.
The point of this procedure is to keep the lane (or lanes) of incoming traffic flowing
forward so that guests are spared a long wait time for valet service. This method is
usually accomplished by designating one or two of the valets to be "stackers", who
simply "push" each car up fifty feet or so and prepare it for a quick "takeaway" for a
returning valet to park. The process is then repeated until all cars are parked, utilizing
as much lane space as possible, meanwhile keeping the lanes moving.
An additional advantage of valet parking, aside from stacking, is that valets can park
cars closer and straighter than some customers may park. This will save the space in
the parking lot or garage, and prevent the inconvenience of going to different floors by
cramming everything in.
An efficient valet service will implement (or at least prepare) a system to handle the
expected number of cars and guests. This may include, but is not limited to, any of the
following: designated greeters, stackers, and parkers, a system for marking car
locations, and sometimes even a shuttle service for valet at large venues in order to
expedite car return times at the end of the event.
Valet parking attendants directly in front of bars or restaurants may use the limited
street parking as "extra-fee" parking. For customers who pay extra to keep their vehicle
parked up front, the attendant may park these vehicles in short-term or even prohibited
parking spots on the street
The Parking app enables the users to enter the time and destination where they are
going so that the valet driver is available at the location point to collect the car to
park. This app enable the users to save their time and also park their cars easily and
effectively.
Security: The application provides security of the car and the trust between the
user and the driver. The user will be informed where the car is parked and when
it is parked.
Pickup And Delivery: In the application, the valet driver not only pickup the car
and park at the parking spot but also the driver delivers the car not only at the
default location of the customer but also at the new location which is entered by
the driver.
Communication: Once the car is picked up by the driver and parked then a SMS
message will be sent to the user in which the details about the car parking will be
provided.
Time Consumption: This Application will save the users precious time which
they waste in parking the cars by standing in the lines or traffic or waiting for the
parking spaces to get empty.
Luxe was a technology company that developed, marketed and operated the
Luxe mobile app, an on-demand parking and car services mobile application. Using
Luxe customers could submit a request to have their car parked, fueled, washed,
charged, serviced or driven home by the company's valets. Luxe was acquired by Volvo
Cars in September 2017.In the 12 months between the first two rounds of funding, the
company grew to 6 business markets San Francisco, Seattle, New York
City, Austin, Chicago and Los Angeles. The company works with parking lot operators.
By April 2016, the company further expanded to other cities in the United States. The
company also entered a relationship with Tesla Motors whereby Luxe would have
exclusive access to dedicated Tesla charging stations for its customers.
Get My Parking integrates the supply side with the consumer side through it’s
technology.
In an ideal scenario, Get My parking’s home grown ticketing and parking management
system operates at the parking lot and provides real-time availability to server which
then reflects the information to motorists through the consumer application.
Even if third party parking management system (with or without bay sensors) is used
at parking lot, Get My Parking is capable of integrating with such systems.
For finding out bay level occupancy sensors are mandatory, but for knowing lot level
occupancy simple counters (in-built in the ticketing system or external) shall suffice.
CHAPTER 3
PROPOSED METHODOLOGY
The problem of parking is increasing these days. This leads to increase in time
consumption of the user and frustration in parking the vehicle. To overcome these
problems "Valet parking" is of at most need.
In order to decrease traffic jam during peak hours, to sustain fuel, and to enhance the
parking facilities, pooling is at most necessary. Ridesharing/pooling aims at solving this
problem by targeting the single bike riders. People of the same locality or the students
going to the similar school or offices can share rides. But when a person going on an
intercity trip does not know if any person also intends to make the same journey. The
applications help you in seeing people and schedules journey and make an informed
decision about of travelling alone, save money along with safety.
A messaging interface will be developed between the rider and driver in order to build
trust. Once the rider accepts the driver’s request on call or message.
3.2 IMPLEMENTATION
This Flowchart tells us the complete working system of the application. By this
flowchart diagram we get to know that how does the application will work and what
are all the activities which will occur in the application.
Parking
Rider System Driver
DFD Level 0 is also called a Context Diagram. It’s a basic overview of the whole
system or process being analyzed or modeled. It’s designed to be an at-a-glance
view, showing the system as a single high-level process, with its relationship to
external entities.
REGISTRATION VALIDATION
REQUEST LOGIN REQUEST
USER AUTHENTICA FIREBASE
-TION AUTH
RESPONSE RESPONSE
INTERACTION
UPDATE UPDATE
REQUEST QUERY FIREBASE
DRIVER PARKING STORAGE
SERVICE AND REALTIME
DATABASE
RESPONSE RESPONSE
DFD Level 1 provides a more detailed breakout of pieces of the Context Level
Diagram. You will highlight the main functions carried out by the system, as you
break down the high-level process of the Context Diagram into its sub processes.
LOGIN\SIGN- VALIDATION
UP REQUEST REQUEST
LOGIN FIREBASE
USER AUTHENTIC- AUTH
ATION
RESPONSE RESPONSE
UPDATE
PROFILE
UPDATE UPDATE
REQUEST QUERY
USERPROFILE
FIREBASE
PROFILE
STORAGE
RESPONSE RESPONSE
RIDE
DETAILS
INSERT
FIREBASE
VALET REALTIME
DATABASE
RETRIEVE
NAVIGATE
TO
DESTINATION
RETRIEVE LOCATION
GOOGLE DETAILS
MAPS API
DFD Level 2 then goes one step deeper into parts of Level 1. It may require more text
to reach the necessary level of detail about the system’s functioning. Using DFD
layers, the cascading levels can be nested directly in the diagram, providing a cleaner
look with easy access to the deeper drive.By becoming sufficiently detailed in the
DFD, developers and designers can use it to write pseudo code, which is a
combination of English and the coding language. Pseudo code facilitates the
development of the actual code.
Software Configuration
A major element in building a system is the section of compatible software since the
software in the market is experiencing in geometric progression. Selected software
should be acceptable by the firm and one user as well as it should be feasible for the
system.
This document gives a detailed description of the software requirement specification.
The study of requirement specification is focused specially on the functioning of the
system. It allows the developer or analyst to understand the system, function to be
carried out the performance level to be obtained and corresponding interfaces to be
established.
• Front end: XML
• Architecture: ANDROID
• Operating system: Windows 7/8/10 or Linux
• Client Side: FIREBASE
• Database: FIREBASE REALTIME DATABASE
Hardware Requirement
FETCH CAR/DRIVER
DISPLAY DRIVERS
LOCATION AND
DETAILS FOR PARKING
CONFIRMS
THROUGH IN APP
NOTIFICATION.
The process summary diagram illustrates the process of when our system is being used
by a Rider or driver. Assuming that the user has already been registered, the user will
interact with the entire system to accomplish the fetching of valet drivers, as well as
utilizing the parking feature incorporated with our application.
Block diagrams are typically used for higher level, less detailed descriptions that are
intended to clarify overall concepts without concern for the details of implementation.
Contrast this with the schematic diagrams and layout diagrams used in electrical
engineering, which show the implementation details of electrical components and
physical construction. To make an analogy to the map making world, a block diagram
is similar to a highway map of an entire nation. The major cities (functions) are listed
but the minor county roads and city streets are not. When troubleshooting, this high
level map is useful in narrowing down and isolating where a problem or fault is.
Block diagrams rely on the principle of the black box where the contents are hidden
from view either to avoid being distracted by the details or because the details are not
known. We know what goes in, we know what goes out, but we can't see how the box
does its work.
Fetch
cars
Get valet
drivers
Sequence Diagrams are interaction diagrams that detail how operations are carried out.
They capture the interaction between objects in the context of a collaboration. Sequence
Diagrams are time focus and they show the order of the interaction visually by using
the vertical axis of the diagram to represent time what messages are sent and when. A
sequence diagram simply depicts interaction between objects in a sequential order i.e.
the order in which these interactions take place. We can also use the terms event
diagrams or event scenarios to refer to a sequence diagram. Sequence diagrams describe
how and in what order the objects in a system function. These diagrams are widely used
by businessmen and software developers to document and understand requirements for
new and existing systems.
Fetch driver
Client
Set location
Rider
Fetch Source
and destination
Location
Se
Display
messages S se Driver
Display ride
Details
Sign Up: Any user must be able to create an account. An email address and a
password are required to create an account. An account is required to use most
of the application features, including joining an organization. Membership to an
organization is required to join Park My Wheels.
Sign In: The registered users must be able to sign into their account using their
registered email address and password.
Fetch Driver: A user must be able to fetch the nearby drivers who will receive
the source location of the rider and will go and pick up the vehicle.
Fetch Car: A Driver must be able to fetch the nearby available cars who are
ready to get parked and visit the location and pick the car up and get it parked
at a safe location.
Display map: The application must display a map of the route between the
source and destinations all the time.
Google Maps API: The application will be integrated with Google Maps
which will allow users to look addresses for sources and destinations.
Free of charge: The application should not cost any money to use and
download.
Data Usage: The should use as little data as possible from the user.
Speed of Application: Going from one page to the next must take no longer
than 1.5 seconds 99 percent of the time.
The view components present the user interface. Android uses a number of predefined
layouts that are written in XML to define how the data and UI components should be
displayed.
The controller components are the segments of code that make up most of the logic in
the system and link the data in the model components with the view components. These
components request data from the model components, then determine what data the
view components should be presenting. In an Android application, these components
are Activity classes that manipulate data to perform an action to be displayed to the user
and services that perform actions behind the scenes. Some of these services require
access to additional services outside of the application, such as email services.
CHAPTER 4
Testing is a process of executing a program with the interest of finding an error. A good
Test is one that has high probability of finding the yet undiscovered error. Testing
should
Systematically uncover different classes of errors in a minimum amount of time with
minimum amount of efforts. In our project testing for different constraints satisfaction
ofthe user are done. The testing performed mostly was white box testing and is done by
us.
Two inputs are provided to test the project:
• All the subjects that teacher will teach.
• All the finalized subjects of teacher choices.
This test proves that all areas of the system interface with each other correctly and that
there are no gaps in the data flow. Final Integration Test proves that system works as
integrated unit when all the fixes are complete.
Unit Testing: Unit test comprises of a set tests performed by an individual program
prior to the integration of the unit into large system. A program unit is usually the
smallest free functioning part of the whole system. Module unit testing should be as
exhaustive as possible to ensure that each representation handled by each module has
been tested. All the units that makeup the system must be tested independently to ensure
that they work as required. During unit testing some errors were raised and all of them
were rectified and handled well. The result was quite satisfactory and it worked well.
Integration Testing: Integration testing is a system technique for constructing the
program structure while at the same time conducting tests to uncover errors associated
with interfacing. The objective is to take unit tested modules and build a program
structure that has been dictated by design. Bottom-up integration is the traditional
strategy used to integrate the components of a software system into functioning whole.
Bottom-up integration consists of unit test followed by testing of the entire system. A
sub-system consists of several modules that communicated with other defined interface.
Integration testing was performed on the system. All the modules were tested for their
compatibility with other modules. The test was almost successful. All the modules
coexisted very well, with almost no bugs. All the modules were encapsulated very well
so as to not hamper the execution of other modules.
A test is a command line tool that allows users to build, install and run Android tests
locally. It is the recommended standard for initial testing of your feature.. It executes
your tests in real browsers, ensuring your application is exercised just like a user would.
Unit testing is an important component for maintaining quality over time and aid in
refactoring. Android was built from the very beginning to be testable. That means the
Android team set out to remove every possible excuse for not testing an Android
application. As an example, Android uses the dependency injection design pattern so
you can easily swap out your production code for mocks.
Cost/Benefit analysis performed to ascertain whether the cost in the system match with
the benefits it will provide. The various kinds of costs incurred in the development and
implementation of the system include:
• Hardware Costs: Cost incurred in purchase of hardware, i.e., laptop.
• Operating Costs: include all the costs associated with the day to day operation of the
system which include internet cost.
The objective of the cost estimation is to enable the client or developer to perform a
cost benefit analysis and for project monitoring and control. The accuracy of the
estimate depends on the amount of reliable information about the final product. When
the product is delivered, the cost can be accurately determined, as all the data about the
project and the resource spent can be fully known by then.
4.4 SNAPSHOTS
This Screen Is the First screen which will be displayed when the application is opened.
This page of the application is the login page for respective driver as well as user
login.
This page of the application is the signup page where the user or the driver has to give
their details to get themselves registered.
This Page of the application is meant for the users where they will call the driver for
parking.
This Page of the application is meant for fetching the nearby drivers.
This page gives you the drivers distance that how much meters he is away from the
user
This page gives you the information that your car is parked.
This page gives you the facility to the user to enable the delivery option of their car.
4.5 ADVANTAGES
4.6 LIMITATIONS
Problem with security and trust.
Establishment of trust.
Largely dependent on internet service and requires user to have an android
Smartphone.
Authentication of both driver and rider Identity needs to be done.
CHAPTER-5
CONCLUSION
The number of cars has been increasing so fast, thereby, the problem of car parking is
getting worst every year. Atthe same time, there is a lot of congestion in parking the
car, the best solution for this unsettling problem is “Park My Wheels”. This android
application alone can solve the problem of parking as it provides Valet drivers which
park the car and deliver it to the default location or to any specified location.
First, the application is based on trusted users: users are allowed to register as part of
application, they can fetch the drivers anytime from anywhere.
Second, the application proposes the availability of valet drivers which are trusted and
will safely get the car parked and delivered.
Third, the application proposes, real time location of both the driver and the customer
so that it becomes easy for both of them to interact with each other and build trust
among them.
CHAPTER-6
FUTURE WORK
While PARK MY WHEELS can help with car parking, there are many improvements
that could be added to make it a more complete system.
For the mobile application, more subtle features could be added to make it more
standardized and usable.
Custom views and more flexibility, such as the ability to edit preferences should be
added to create an experience that users would expect from a standard application.
Adding a private chat system would also provide a more convenient communication
method between user and driver. Improvements in the verification process could be
added.
More options for passenger and driver verification methods, such as QR codes, NFC-
base verification, or generating custom randomized text codes could be used to make
the passenger verification process convenient yet secure.
Adding the feature to get the car washed before delivery.
Also adding a feature so that the car can get refueled before delivery with extra charges.
Built-in security features could be added to improve the safety of an application that
allows strangers to communicate.
Adding a rating system of both drivers and passengers would also help to promote trust
within the application.
Adding support for translations into other languages and other customization features
could be added to make the app more versatile.
Letting organizations setup custom incentive plans, such as rewards points, would also
be a way to provide organizations with more flexibility.