You are on page 1of 67

Smart Parking Lot System (IPark) 2019-2021

Chapter-1

INTRODUCTION

1.1 Objective
As the population increased in the metropolitan cities, the usage of vehicles got
increased. It causes problem for parking which leads to traffic congestion, driver
frustration, and air pollution. When we visit the various public places like Shopping malls,
multiplex cinema hall & hotels during the festival time or weekends it creates more parking
problem.
Our objective is to present a parking system that regulates a number of vehicles to the
nearest parking space at any given time based on the parking space availability. “Smart
Parking System (SPS)” is implemented using the Operating System Android. The user
requests the Parking Control Unit to check the status of available parking slots. As soon as
the user request, all the available free slots are displayed to the user. If the availability of
parking space is confirmed, the user can book the parking slot and proceed to pay. The user
fixes his slots by showing his confirmation details to the concerned person at Parking area.
After successful parking the slot details are updated simultaneously in the Administrators
database. Finally the time to find for an empty parking slot is minimized. The main
responsibility of the Smart Parking System (SPS) is to help the user to find an area where
parking is available and total number of slots free in that area. Thus our proposed
methodology reduces the user’s effort and time of searching a parking slot.

1.2 Problem Statement

Parking the car today need parking policies for safety and security reasons. There is
always competition for the parking space. A good solution to overcome parking crises
would be by increasing the number of parking spaces or else enlarge the parking lots, but
this will lead to huge investment. However better management of existing parking spaces
will be wise method. The availability of parking spaces should be improved. Another
approach for managing parking in Space is by improving the efficiency of the use of
existing parking spaces, by informing user about available parking space and guiding him

1
Smart Parking Lot System (IPark) 2019-2021

accordingly. Now a day there is growing popularity and affordability of internet–enabled


smart phones and because of data available online we can step to solve parking problem.
Android smart phone enables user to virtually carry the internet with him. which is near to
his destination, then the driver will automatically know regarding the spaces available in
the lot. So the drivers by their own make the decision of parking .If the parking spaces
available in the lot are very few during the busy hours then more drivers struggle for the
parking spaces. This phenomenon is called “multiple-car-chasing-single-space”, which
further causes severe congestion. To alleviate the “multiple-car-chase-single-slot”
phenomenon, some designers have devised a solution to use a buffer that publishes the live
availability information. The threshold of the buffer is determined. Therefore, if a parking
lot has very few unoccupied spaces than a threshold, then the system will display that the
parking lot is fully engaged. But it is not easy to determine the threshold for the buffer. If
the buffer is too small, the problem of “multiple-car-chase-single-space” will not be
eradicated. If it is too large, the usage of parking spaces will be low.

1.3 Existing System

The Non-assisted parking search (NAPS) does not have the server, and no information
will be provided to a user. The user has to wander around the parking spot for finding the
vacancy of space. The slot will be allocated to the user who reaches the vacant slot first.

Disadvantages of Existing System

 The system only provide the Entrance to the parking area not provide the parking
slot
 The car owner search the parking slot after entering to the parking area. It will take
time to find the slot.
 The car owner have no idea about the parking area is fill or not. His responsibility
to find the parking slot and park his vehicle safely
 The owner need to remain in the parking slot for his vehicle parked.
 Difficult to find his vehicle from a large area of parking after complete his
shopping
 Safety for the vehicle is less.

2
Smart Parking Lot System (IPark) 2019-2021

1.4 Proposed System

So to overcome the disadvantages of the above parking approaches we have designed


a system that can be used on Android Smartphone. By using this system the user can
determine the availability of parking spaces prior to entering the parking lot. The system
provides a visual display to the user regarding the available parking spaces by which he can
book or reserve a space whenever he needs. The system significantly reduces traffic snarl
up and the resulting environmental pollution by decreasing the time required for users to
locate parking space.

Advantages of Proposed System

The features of the proposed system are:


 Guides drivers find available parking spaces near them
 Less number of drivers searching to park, thus reduces the traffic congestion
 Avoids air pollution & global warming.
 Scalable, robust and reliable.
 Reduces the driver stress and improves the urban area.
 Provides tools to optimize the parking space management
 Accurately find out the vehicle occupancy in real time.

1.5 Motivation

The main motivation of this project is to reduce the traffic congestion that occurs in
and around the urban areas which is caused by vehicles searching for parking. In the
newspapers, we can able to see many articles regarding the parking problem all over India
like Delhi, Mumbai, Chennai, Bangalore and many metropolitan cities. Growing population
has created many problems; parking problem is one of the big problems in our day to day
life. In a recent survey, researchers have found that for one year, car cruising for parking
created the equivalent of 38 times trips around the world, burning 177914.8l of fuel and
producing 730 tons of CO2. To reduce all these factors we go for the smart parking system.
Moreover, most of the parking management systems which are presently available are
static and serve only on a small scale. There needs to be a system to solve all these
discouraging issues of parking vehicles. Use of internet would make the system more

3
Smart Parking Lot System (IPark) 2019-2021

flexible as anyone can access and use such a system from anywhere. With the advent of
technology geographic information systems help in getting information related to geology
of the earth. So such systems contribute a lot in collecting information for developing a
parking management system with a huge database of maps. Almost everyone today has an
internet enabled smart phone, so making such a application available to the user on his
smart phone is very efficient. Without wasting so much of user's time such application
helps him to search the parking space.

1.6 Block Diagram

Fig. 1.1 Smart Parking System

4
Smart Parking Lot System (IPark) 2019-2021

Chapter-2

LITERATURE SURVEY

IEEE Paper: Intelligent Parking System using Android


Application

Authors : J. Anitha, Y. thoyajakshi , A. Ramya, V. Sravani, Prashant


Kumar

2.1 Abstract
“Intelligent Parking System using Android Application” provides user an easy way of
booking the parking slots through an application. To avoid the problem of traffic
conjunction in commercial areas that unnecessarily consumes time, this paper provides the
easy reservation system for parking. In this application the user can view various parking
slots and check for the availability of slots. Whenever a user books a particular slot it will
be marked red and all the available slots will be green. Booking can be done through credit
card/net banking. This application also provides an additional feature of canceling the
booked slot within 20 minutes from the time of booking. If the user fails to reach the
destination on time then the reservation will be cancelled and the payment is refunded. On
successful payment a parking number is sent to user’s email or to his mobile number for
further enquiry. Hence this application reduces the user’s effort and time of searching the
parking slot and also avoids conjunction of traffic.

2.2 Introduction

Too many cars, too much traffic and there is no enough parking area. This
is the situation which is seen in most of the metropolitan cities today. People
keep on roaming on roads searching for a parking space to park their vehicles
especially at peak hours of time. Our proposed system presents a smart parking
system that regulates a number of vehicles to the nearest parking space at any
given time based on the parking space availability. “Intelligent Parking System

5
Smart Parking Lot System (IPark) 2019-2021

(IPS)” is implemented using the Operating System Android. The user requests
the Parking Control Unit to check the status of available parking slots. As
soon as the user request, all the available free slots are displayed to the user. If
the availability of parking space is confirmed, the user can book the parking
slot and proceed to pay. The vehicle follows its path towards the starting of the
parking area. The user fixes his slots by showing his confirmation details to the
concerned person at Parking area. After communicating, the vehicle will
further follow its path to the allocated parking slot. After successful parking the
slot details are updated simultaneously in the Administrators database. Finally
the time to find for an empty parking slot is minimized. The main responsibility
of the Intelligent Parking System (IPS) is to help the user to find an area where
parking is available and total number of slots free in that area. Thus our
proposed methodology reduces the user’s effort and time of searching a parking
slot.

2.3 Proposed Application of Intelligent Parking System


(IPS)

The proposed system is an Android Application which mainly consists of


three modules. The user can choose a parking space that is nearest to his
destination after getting login to the application. After the user books a
particular slot the administrator updates the status of that respective parking
slot to “RESERVED''. If the user doesn’t arrive to the parking slot within 20
minutes from the time of booking his booking will be cancelled and the status
is updated to “EMPTY”. Intelligent Parking System (IPS) is based on the
client-server architecture. It’s economically beneficial since it doesn’t require
any heavy infrastructure. It is neither sensitive to temperature change nor
affected by any extreme air turbulence.

The main objectives of Intelligent Parking System(IPS) application is to


provide the following:

Intelligent, ubiquitous, user friendly automated parking system application


that minimizes user’s time and avoid traffic congestion in metropolitan cities.

6
Smart Parking Lot System (IPark) 2019-2021

To ensure safe and secure parking slots within limited area, which is of
most urge.

2.4 Methodology

The slot allocation method follows a sequence as stated below:

Step1: Initially the slot selection is made by the user from his mobile
phone. He checks for the availability of a parking slot that is nearest to his
location. If it is available, he moves to the next stage or else go to the initial
state.

Step2: Transfers request for parking slot from the mobile using Android
application.

Step3: The Parking Control Unit (PCU) gets the slot number requested
by the user.

Step4: If the payment is done successfully, then the requested slot is


reserved in the parking area.

Step5: After reserving a particular slot by the user then the status of that
respective slot will be marked as RED=RESERVED and the remaining will be
GREEN=EMPTY.

Step6: As soon as the vehicle gets entered into the parking slot, the
timer gets ON and measures the total time.

Step7: As soon as the vehicle moves out of the parking slot, the timer gets

OFF and the total cost will be displayed.

7
Smart Parking Lot System (IPark) 2019-2021

Chapter-3

REQUIREMENT ANALYSIS

3.1 Specific Requirements


3.1.1 TECHNOLGIES USED:
 ANDROID STUDIO as a tool used to build both the Applications, User end and
Admin end
 XML language is used to build screen of android app(User Interface)
 Java language is used as Listener for accessing User details.
 APIs(application programming interface) is developed and integrated to android
studio in order to communicate with server.
 All the database will be maintained in cloud. (through APIs)

3.1.2 Hardware Requirements

Mobile Application

 Processor - 1GHz and above


 Battery - 1200mAh and above
 RAM - 512 MB and above
 Memory - 2 GB and above

3.1.3 Software Requirement Specification

• Operating system : Windows 7 Ultimate.


• Coding Language : ANDROID
• Front-End : ANDROID
• Data Base : MongoDB
• Software : Android studio

Dept of CSE, JSSATE Page 8


Smart Parking Lot System (IPark) 2019-2021

3.2.1.2 Server-side
Initially, the administrator logins the application by using his username and password. The
administrator has authority to add new users and stores their details in the database which are
used for further purpose. On receiving the request at server side by user, the administrator
shows all available locations at the nearest requested destination

Fig 3.5 Admin Login Screen

 Login: The administrator can login to the application by giving email and password. If
the administrator gets successfully login then the administrator is said to be
authorized. After getting login to the application the administrator can carry out many
tasks such as:
 Adding Parking Locations
 View Parking Locations
 View All Users
 View All Bookings
 Add and view Parking Locations: The administrator can add different locations where
parking slots are available. The user can select any location which is nearest to his

Fig 3.6 Parking Status

destination. The administrator can also delete the locations if he wishes. The
administrator can view different locations where parking slots are available and can
also check the status of different parking slots.

 View All Users and Respective Booked Slots: The administrator can view all the
users who are using the application and can also check the booking details such as the
time and date at which the user requires a slot, number of hours a user is using the
allocated slot, at which location he requires a slot etc., The administrator can view all
the reserved slots of all registered users. The administrator takes this as a reference for
further allocation.

Dept of CSE, JSSATE Page 9


Smart Parking Lot System (IPark) 2019-2021

3.2.2 Software Interface

Linux Kernel

Android relies on Linux version 2.6 for core system services such as security,
memory management, process management, network stack, and driver model. The kernel
also acts as an abstraction layer between the hardware and the rest of the software stack. The
Linux kernel is an operating system kernel used by the Linux family of Unix-like operating
systems. It is one of the most prominent examples of free and open source software.

The Linux kernel is released under the GNU General Public License version 2
(GPLv2),(plus some firmware images with various licenses), and developed by contributors
worldwide. The Linux kernel has extensive support for and runs on many virtual machine
architectures both as the host operating system and as a guest operating system. The virtual
machines usually emulate Intel x86 family of processors, though in a few cases PowerPC or
ARM processors are also emulated.

At Google, team led by Rubin developed a mobile device platform powered by the
Linux kernel. Google marketed the platform to handset makers and carriers on the premise of
providing a flexible, upgradable system. Google had lined up a series of hardware component
and software partners and signaled to carriers that it was open to various degrees of
cooperation on their part. Speculation about Google's intention to enter the mobile
communications market continued to build.Reports noted that Google wanted its search and
applications on mobile phones and it was working hard to deliver that. Some speculated that
as Google was defining technical specifications, it was showing prototypes to cell phone
manufacturers and network operators.

3.3 Functional Requirements

Dept of CSE, JSSATE Page 10


Smart Parking Lot System (IPark) 2019-2021

The functional requirements for a system describe what the system should do. These
requirements depend on the type of software being developed, the expected users of the
software and the general approach taken by the organization when writing the requirements.
When expressed as user requirements, the requirements are usually described in a fairly
abstract way. However, functional system requirements describe the system function in
detail, its inputs and outputs, exceptions, and so on.

Functional requirements are the following:

 Provides the searching facilities based on various factors. Such as Types, Vehicles,
Parking Fees, Customers.
 It tracks all the information of Duration, Parking Slots, Parking Fees ect
 Manage the information of Duration
 Shows the information and description of the Types, Vehicles
 It deals with monitoring the information and transactions of Parking Fees.
 Manage the information of Types
 Editing, adding and updating of Records is improved which results in proper resource
 Manage the information of Parking Fees
 Integration of all records of Customers

3.4 Non Functional Requirements


Non-functional requirements, as the name suggests, are requirements that are not
directly concerned with the specific functions delivered by the system. They may relate to
emergent system properties such as reliability, response time and store occupancy.
Alternatively they may define constraints on the system such as the capability of the I/O
devices and the data representation used in system interfaces.

3.4.1 Performance
This section specifies the performance requirements that the Smart Parking system must
adhere to.

 The Smart Parking system shall be able to provide continuous updating of every
parking space monitored on a timed cycle. This involves designing an optimized
scheduling algorithm.

Dept of CSE, JSSATE Page 11


Smart Parking Lot System (IPark) 2019-2021

 The Smart Parking system shall be able to provide the user with the information that
contains the most recent updates of the parking spaces.
 The Smart Parking system shall be able to send customers’ text messages and emails.
This is measured as the time sent, not received. Phone and Internet network delays are
not controllable by this system.

3.4.2 Reliability
This section specifies the reliability requirements imposed upon the Smart Parking
system.

 The Smart Parking system shall have a reliability rating less than 1. Reliability is
defined as providing the user up to date, correct information when they need it.
Information is considered correct when the parking spaces are accurately reported and
the information is no more than few seconds old.

3.4.3 Maintainability
This section specifies the maintainability requirements imposed upon the Smart Parking
system.

 The Smart Parking system shall not need more than few hours of weekly
maintenance.
 The Smart Parking system shall not need more than few days of annual maintenance
(system maintenance different from weekly maintenance).

3.4.4 Environmental
This section specifies the environmental requirements imposed upon the Smart Parking
system.

 The Smart Parking system shall not cause physical harm to users and non-users.
 The Smart Parking system shall not cause interference to external systems.

3.5 Design Constraints


Feasibility Study

The feasibility of the project is analyzed in this phase and business proposal is put
forth with a very general plan for the project and some cost estimates. During system analysis
the feasibility study of the proposed system is to be carried out. This is to ensure that the

Dept of CSE, JSSATE Page 12


Smart Parking Lot System (IPark) 2019-2021

proposed system is not a burden to the company. For feasibility analysis, some
understanding of the major requirements for the system is essential.

Three key considerations involved in the feasibility analysis are:

 Economical Feasibility
 Technical Feasibility
 Social Feasibility
Economical Feasibility

This study is carried out to check the economic impact that the system will have on
the organization. The amount of fund that the company can pour into the research and
development of the system is limited. The expenditures must be justified. Thus the developed
system as well within the budget and this was achieved because most of the technologies
used are freely available. Only the customized products had to be purchased.

Technical Feasibility
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on the
available technical resources. This will lead to high demands on the available technical
resources. This will lead to high demands being placed on the client. The developed system
must have a modest requirement, as only minimal or null changes are required for
implementing this system.

Social Feasibility

The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not feel
threatened by the system, instead must accept it as a necessity. The level of acceptance by the
users solely depends on the methods that are employed to educate the user about the system
and to make him familiar with it. His level of confidence must be raised so that he is also able
to make some constructive criticism, which is welcomed, as he is the final user of the system.

Features of VSCODE

1. Available for macOS, Linux, and Windows

Dept of CSE, JSSATE Page 13


Smart Parking Lot System (IPark) 2019-2021

2. Edit, build, and debug with ease

3. Customize every feature to your liking and install any number of third-party
extensions. 

4. VS Code includes enriched built-in support for Node.js development with JavaScript
and TypeScript, powered by the same underlying technologies that drive Visual
Studio. 

5. Robust and extensible architecture

6. Provides a code editor-centric development tool or are building cross-platform web


and cloud applications

3.6.3 Postman

The Postman Rest Client is a very popular and easy to use HTTP Request composer
that makes it easy to call web services, similar to Fiddler's Composer. It also provides as an
alternative for autogenerating API documentation to ServiceStack's Swagger support that
makes it easier to call existing services but does require users to install the Postman Rest
Client.

Postman’s vision is to help you build a super fast and smooth workflow for API
development keeping some key questions in mind:

 Where are my APIs and do I know how they are changing?


 Are they documented properly?
 How do I follow an agile process to test them?
 Are they working properly all the time?
 Can I connect all my tools with my API development workflow?

Postman offers solutions that satisfy each of the questions above. 

 Team collaboration for the single source of truth about your API, or review historical


versions and the latest updates.
 API documentation to share public or private documentation, beautifully viewable via
a web page.
 Powerful mock servers to simulate the real API and decouple teams.
Dept of CSE, JSSATE Page 14
Smart Parking Lot System (IPark) 2019-2021

 Collection monitoring to check for the performance, uptime and correctness of your


API.
 Out-of-the-box integrations and the Postman API to connect your different tools.

Postman features include:

1. History of sent requests

2. Create requests quickly

3. Replay and organize

4. Switch context quickly

5. Built-in authentication helpers

6. Customize with scripts

7. Robust testing framework

8. Automate collections

3.6.4 MongoDB

MongoDB is a free and open-source cross-platform document-oriented database program.


Classified as a NoSQLdatabase program, MongoDB uses JSON-like documents
with schemas. MongoDB is developed by MongoDB Inc., and is published under a
combination of the GNU Affero General Public License and the Apache License.

Features

Ad hoc queries

MongoDB supports field, range queries, regular expression searches.[8] Queries can return
specific fields of documents and also include user-defined JavaScript functions. Queries can
also be configured to return a random sample of results of a given size.

Indexing

Fields in a MongoDB document can be indexed with primary and secondary indices.

Replication

Dept of CSE, JSSATE Page 15


Smart Parking Lot System (IPark) 2019-2021

MongoDB provides high availability with replica sets.[9] A replica set consists of two or more
copies of the data. Each replica set member may act in the role of primary or secondary
replica at any time. All writes and reads are done on the primary replica by default.
Secondary replicas maintain a copy of the data of the primary using built-in replication.
When a primary replica fails, the replica set automatically conducts an election process to
determine which secondary should become the primary. Secondaries can optionally serve
read operations, but that data is only eventually consistent by default.

Load balancing

MongoDB scales horizontally using sharding. The user chooses a shard key, which
determines how the data in a collection will be distributed. The data is split into ranges (based
on the shard key) and distributed across multiple shards. (A shard is a master with one or
more slaves.). Alternatively, the shard key can be hashed to map to a shard – enabling an
even data distribution.

MongoDB can run over multiple servers, balancing the load or duplicating data to keep the
system up and running in case of hardware failure.

File storage

MongoDB can be used as a file system with load balancing and data replication features over
multiple machines for storing files.

This function, called grid file system,[11] is included with MongoDB drivers. MongoDB
exposes functions for file manipulation and content to developers. GridFS is used in plugins
for Nginx[12] and lighttpd.[13] GridFS divides a file into parts, or chunks, and stores each of
those chunks as a separate document.[14]

Aggregation

MapReduce can be used for batch processing of data and aggregation operations.

The aggregation framework enables users to obtain the kind of results for which
the SQL GROUP BY clause is used. Aggregation operators can be strung together to form a
pipeline – analogous to Unix pipes. The aggregation framework includes the $lookup
operator which can join documents from multiple documents, as well as statistical operators
such as standard deviation.

Server-side JavaScript execution

Dept of CSE, JSSATE Page 16


Smart Parking Lot System (IPark) 2019-2021

JavaScript can be used in queries, aggregation functions (such as MapReduce), and sent
directly to the database to be executed.

Capped collections

MongoDB supports fixed-size collections called capped collections. This type of collection
maintains insertion order and, once the specified size has been reached, behaves like
a circular queue.

Transactions

The current stable release does not support transactions, but transactions are scheduled to be
available in a new major release.

3.6.5 MongoDB Compass

MongoDB Compass is designed to allow users to easily analyze and understand the contents
of their data collections within MongoDB and perform queries, without requiring knowledge
of MongoDB query syntax.

MongoDB Compass provides users with a graphical view of their MongoDB schema by
randomly sampling a subset of documents from the collection. Sampling documents
minimizes performance impact on the database and can produce results quickly.

FEATURES

 View, add, and delete databases and collections


 View and interact with documents with full CRUD functionality
 Build and run ad hoc queries
 View and optimize query performance with visual explain plans
 Manage indexes: view stats, create, and delete

Dept of CSE, JSSATE Page 17


Smart Parking Lot System (IPark) 2019-2021

Dept of CSE, JSSATE Page 18


Smart Parking Lot System (IPark) 2019-2021

Chapter-4

HIGH LEVEL DESIGN

4.1 Input Design


The input design is the link between the information system and the user. It comprises
the developing specification and procedures for data preparation and those steps are
necessary to put transaction data in to a usable form for processing can be achieved by
inspecting the computer to read data from a written or printed document or it can occur by
having people keying the data directly into the system. The design of input focuses on
controlling the amount of input required, controlling the errors, avoiding delay, avoiding
extra steps and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy. Input Design considered the
following things:

 What data should be given as input?

 How the data should be arranged or coded?

 The dialog to guide the operating personnel in providing input.

 Methods for preparing input validations and steps to follow when error occur.

1. Input Design is the process of converting a user-oriented description of the input into a
computer-based system. This design is important to avoid errors in the data input process and
show the correct direction to the management for getting correct information from the
computerized system.

2. It is achieved by creating user-friendly screens for the data entry to handle large
volume of data. The goal of designing input is to make data entry easier and to be free from
errors. The data entry screen is designed in such a way that all the data manipulates can be
performed. It also provides record viewing facilities.

3. When the data is entered it will check for its validity. Data can be entered with the
help of screens. Appropriate messages are provided as when needed so that the userwill not
be in maize of instant. Thus the objective of input design is to create an input layout that is
easy to follow.

Dept of CSE, JSSATE Page 19


Smart Parking Lot System (IPark) 2019-2021

4.2 Output Design

A quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and to
other system through outputs. In output design it is determined how the information is to be
displaced for immediate need and also the hard copy output. It is the most important and
direct source information to the user. Efficient and intelligent output design improves the
system’s relationship to help user decision-making.

1. Designing computer output should proceed in an organized, well thought out


manner; the right output must be developed while ensuring that each output element is
designed so that people will find the system can use easily and effectively. When analysis
design computer output, they should Identify the specific output that is needed to meet the
requirements.

2. Select methods for presenting information.

3. Create document, report, or other formats that contain information produced by the
system.

The output form of an information system should accomplish one or more of the
following objectives.

 Convey information about past activities, current status or projections of the Future.

 Signal important events, opportunities, problems, or warnings.

 Trigger an action.

 Confirm an action.

Dept of CSE, JSSATE Page 20


Smart Parking Lot System (IPark) 2019-2021

4.3 Architectural Strategies


4.3.1 Programming Languages

4.3.1.1 Java
 A Java Virtual Machine (JVM) enables a set of computer software programs and data
structures to use a virtual machine model for the execution of other computer programs
and scripts. The model used by a JVM accepts a form of computer intermediate
language commonly referred to as Java bytecode. This language conceptually
represents the instruction set of a stack-oriented, capability architecture. Sun
Microsystems states there are over 4.5 billion JVM-enabled devices
 A JVM can also execute bytecode compiled from programming languages other than
Java. For example, Ada source code can be compiled to execute on a JVM. JVMs can
also be released by other companies besides Oracle (the developer of Java) — JVMs
using the "Java" trademark may be developed by other companies as long as they
adhere to the JVM specification published by Oracle and to related contractual
obligations.
 Java was conceived with the concept of WORA: "write once, run anywhere". This is
done using the Java Virtual Machine. The JVM is the environment in which java
programs execute. It is software that is implemented on non-virtual hardware and on
standard operating systems.
 JVM is a crucial component of the Java platform, and because JVMs are available for
many hardware and software platforms, Java can be both middleware and a platform in
its own right,[clarification needed] hence the trademark write once, run anywhere. The use of
the same bytecode for all platforms allows Java to be described as "compile once, run
anywhere", as opposed to "write once, compile anywhere", which describes cross-
platform compiled languages. A JVM also enables such features as automated
exception handling, which provides "root-cause" debugging information for every
software error (exception), independent of the source code.
 A JVM is distributed along with a set of standard class libraries that implement the
Java application programming interface (API). Appropriate APIs bundled together
form the Java Runtime Environment (JRE).
 Java's execution environment is termed the Java Runtime Environment, or JRE.

Dept of CSE, JSSATE Page 21


Smart Parking Lot System (IPark) 2019-2021

 Programs intended to run on a JVM must be compiled into a standardized portable


binary format, which typically comes in the form of .class files. A program may
consist of many classes in different files. For easier distribution of large programs,
multiple class files may be packaged together in a .jar file (short for Java archive).
 The Java application launcher, java, offers a standard way of executing Java code.
Compare javaw.
 The JVM runtime executes .class or .jar files, emulating the JVM instruction set by
interpreting it, or using a just-in-time compiler (JIT) such as Oracle's HotSpot. JIT
compiling, not interpreting, is used in most JVMs today to achieve greater speed.
There are also ahead-of-time compilers that enable developers to precompile class files
into native code for particular platforms.
 Like most virtual machines, the Java Virtual Machine has a stack-based architecture
akin to a microcontroller/microprocessor. However, the JVM also has low-level
support for Java-like classes and methods, which amounts to a highly idiosyncratic
memory model and capability-based architecture.

4.3.1.2 Android

Android is an operating system based on Linux with a Java programming interface. It


provides tools, e.g. a compiler, debugger and a device emulator as well as its own Java
Virtual machine (Dalvik Virtual Machine - DVM). Android is created by the Open Handset
Alliance which is lead by Google.

Android uses a special virtual machine, e.g. the Dalvik Virtual Machine. Dalvik uses
special bytecode. Therefore you cannot run standard Java bytecode on Android. Android
provides a tool "dx" which allows converting Java Class files into "dex" (Dalvik Executable)
files. Android applications are packed into an .apk (Android Package) file by the program
"aapt" (Android Asset Packaging Tool) To simplify development Google provides the
Android Development Tools (ADT) for Eclipse . The ADT performs automatically the
conversion from class to dex files and creates the apk during deployment. Android supports
2-D and 3-D graphics using the OpenGL libraries and supports data storage in a SQLite
database.

Dept of CSE, JSSATE Page 22


Smart Parking Lot System (IPark) 2019-2021

Important Android components

An Android application consists out of the following parts:

 Activity - Represents the presentation layer of an Android application, e.g. a screen


which the user sees. An Android application can have several activities and it can be
switched between them during runtime of the application.
 Views - The User interfaceof Activities is build with widgets classes which inherent
from "android.view.View". The layout of the views is managed by
"android.view.ViewGroups".
 Services - perform background tasks without providing an UI. They can notify the user
via the notification framework in Android.
 Content Provider - provides data to applications, via a content provider your
application can share data with other applications. Android contains a SQLite DB
which can serve as data provider
 Intents are asynchronous messages which allow the application to request functionality
from other services or activities. An application can call directly a service or activity
(explicit intent) or asked the Android system for registered services and applications
for an intent (implicit intents). For example the application could ask via an intent for a
contact application. Applications register themself to an intent via an IntentFilter.
Intents are a powerful concept as they allow to create loosely coupled applications.
 Broadcast Receiver - receives system messages and implicit intents, can be used to
react to changed conditions in the system. An application can register as a broadcast
receiver for certain events and can be started if such an event occurs.

4.3.1.3 NodeJS

Node.js is an open-source, cross-platform JavaScript run-time environment that


executes JavaScript code server-side. Historically, JavaScript was used primarily for client-
side scripting, in which scripts written in JavaScript are embedded in a webpage's HTML and
run client-side by a JavaScript engine in the user's web browser. Node.js lets developers use
JavaScript for server-side scripting—running scripts server-side to produce dynamic web
page content before the page is sent to the user's web browser. Consequently, Node.js
represents a "JavaScript everywhere" paradigm unifying web application development around

Dept of CSE, JSSATE Page 23


Smart Parking Lot System (IPark) 2019-2021

a single programming language, rather than different languages for server side and client side
scripts.

Though .js is the conventional filename extension for JavaScript code, the name


"Node.js" does not refer to a particular file in this context and is merely the name of the
product. Node.js has an event-driven architecture capable of asynchronous I/O. These design
choices aim to optimize throughput and scalability in web applications with many
input/output operations, as well as for real-time Web applications.

The Node.js distributed development project, governed by the Node.js Foundation, is


facilitated by the Linux Foundation's Collaborative Projects program.

Node.js allows the creation of Web servers and networking tools using JavaScript and a


collection of "modules" that handle various core functionality. Modules are provided for file
system I/O, networking (DNS, HTTP, TCP, TLS/SSL, or UDP), binary data
(buffers), cryptography functions, data streams, and other core functions. Node.js's modules
use an API designed to reduce the complexity of writing server applications.

Node.js applications can run on Linux, macOS, Microsoft


Windows, NonStop,] and Unix servers. Alternatively, they can be written
with CoffeeScript (a JavaScript alternative), Dart or TypeScript (strongly typed forms of
JavaScript), or any other language that can compile to JavaScript.

Node.js is primarily used to build network programs such as Web servers. The biggest
difference between Node.js and PHP is that most functions in PHP block until completion
(commands execute only after previous commands finish), while Node.js functions are non-
blocking (commands execute concurrently or even in parallel, and use callbacks to signal
completion or failure).

1. Platform architecture

Node.js brings event-driven programming to web servers, enabling development of fast web


servers in JavaScript. Developers can create highly scalable servers without using threading,
by using a simplified model of event-driven programming that uses callbacks to signal the
completion of a task. Node.js connects the ease of a scripting language (JavaScript) with the
power of Unix network programming.

Node.js was built on the Google V8 JavaScript engine since it was open-sourced under


the BSD license. It is extremely fast and proficient with internet fundamentals such

Dept of CSE, JSSATE Page 24


Smart Parking Lot System (IPark) 2019-2021

as HTTP, DNS, TCP. Also, JavaScript was a well-known language, making Node.js


immediately accessible to the entire web development community.

2. Industry support

There are thousands of open-source libraries for Node.js, most of them hosted on
the npm website. The Node.js developer community has two main mailing lists and
the IRCchannel #node.js on freenode. There are multiple developer conferences and events
that support the Node.js community including NodeConf, Node Interactive and Node
Summit as well as a number of regional events.

The open-source community has developed web frameworks to accelerate the development


of applications. Such frameworks include Connect, Express.js, Socket.IO, Koa.js,
Hapi.js, Sails.js, Meteor, Derby, and many others.

Modern desktop IDEs provide editing and debugging features specifically for Node.js


applications. Such IDEs include Atom, Brackets, JetBrains WebStorm, Microsoft Visual
Studio (with Node.js Tools for Visual Studio, or TypeScript with Node
definitions) NetBeans, Nodeclipse Enide Studio  (Eclipse-based), and Visual Studio Code.[63]
[64]
 Certain online web-based IDEs also support Node.js, such
as Codeanywhere, Codenvy, Cloud9 IDE, Koding, and the visual flow editor in Node-RED.

NPM: The Node Package Manager

When discussing Node.js, one thing that definitely should not be omitted is built-in support
for package management using the NPM tool that comes by default with every Node.js
installation. The idea of NPM modules is quite similar to that of Ruby Gems: a set of publicly
available, reusable components, available through easy installation via an online repository,
with version and dependency management.

A full list of packaged modules can be found on the npm website, or accessed using the npm
CLI tool that automatically gets installed with Node.js. The module ecosystem is open to all,
and anyone can publish their own module that will be listed in the npm repository. A brief
introduction to npm can be found in a Beginner’s Guide, and details on publishing modules in
the npm Publishing Tutorial.
Some of the most useful npm modules today are:

Dept of CSE, JSSATE Page 25


Smart Parking Lot System (IPark) 2019-2021

 express - Express.js, a Sinatra-inspired web development framework for Node.js, and


the de-facto standard for the majority of Node.js applications out there today.
 hapi - a very modular and simple to use configuration-centric framework for building
web and services applications
 connect - Connect is an extensible HTTP server framework for Node.js, providing a
collection of high performance “plugins” known as middleware; serves as a base
foundation for Express.
 socket.io and sockjs - Server-side component of the two most common websockets
components out there today.
 pug (formerly Jade) - One of the popular templating engines, inspired by HAML, a
default in Express.js.
 mongodb and mongojs - MongoDB wrappers to provide the API for MongoDB
object databases in Node.js.
 redis - Redis client library.
 lodash (underscore, lazy.js) - The JavaScript utility belt. Underscore initiated the
game, but got overthrown by one of its two counterparts, mainly due to better
performance and modular implementation.
 forever - Probably the most common utility for ensuring that a given node script runs
continuously. Keeps your Node.js process up in production in the face of any unexpected
failures.
 bluebird - A full featured Promises/A+ implementation with exceptionally good
performance
 moment - A lightweight JavaScript date library for parsing, validating, manipulating,
and formatting dates.

4.3.1.4 XML

In computing, Extensible Markup Language (XML) is a markup language that


defines a set of rules for encoding documents in a format that is both human-
readable and machine-readable. The W3C's XML 1.0 Specification and several other related
specifications]—all of them free open standards—define XML.

The design goals of XML emphasize simplicity, generality, and usability across
the Internet. It is a textual data format with strong support via Unicode for different human

Dept of CSE, JSSATE Page 26


Smart Parking Lot System (IPark) 2019-2021

languages. Although the design of XML focuses on documents, the language is widely used
for the representation of arbitrary data structures such as those used in web services.

Several schema systems exist to aid in the definition of XML-based languages, while


programmers have developed many application programming interfaces (APIs) to aid the
processing of XML data.

The essence of why extensible markup languages are necessary is explained at Markup
language (for example, see Markup language § XML) and at Standard Generalized Markup
Language.

Hundreds of document formats using XML syntax have been


developed, including RSS, Atom, SOAP, SVG, and XHTML. XML-based formats have
become the default for many office-productivity tools, including Microsoft Office (Office
Open XML), OpenOffice.org and LibreOffice (OpenDocument), and Apple's iWork. XML
has also provided the base language for communication protocols such as XMPP.
Applications for the Microsoft .NET Framework use XML files for configuration. Apple has
an implementation of a registry based on XML.

Most industry data standards, e.g. HL7, OTA, NDC, FpML, MISMO etc. are based on


XML and the rich features of the XML schema specification. Many of these standards are
quite complex and it is not uncommon for a specification to comprise several thousand pages.

In publishing, DITA is an XML industry data standard. XML is used extensively to


underpin various publishing formats.

XML is widely used in a Services Oriented Architecture (SOA). Disparate systems


communicate with each other by exchanging XML messages. The message exchange format
is standardised as an XML schema (XSD). This is also referred to as the canonical schema.

XML has come into common use for the interchange of data over the
Internet. IETF RFC:3023, now superseded by RFC:7303, gave rules for the construction
of Internet Media Types for use when sending XML. It also defines the media
types application/xml and text/xml, which say only that the data is in XML, and nothing
about its semantics. The use of text/xml has been criticized as a potential source of encoding
problems and it has been suggested that it should be deprecated.

Dept of CSE, JSSATE Page 27


Smart Parking Lot System (IPark) 2019-2021

4.4 Data Flow Diagram:

The DFD is also called as bubble chart. It is a simple graphical formalism that can be
used to represent a system in terms of input data to the system, various processing carried out
on this data, and the output data is generated by this system.

The data flow diagram (DFD) is one of the most important modeling tools. It is used
to model the system components. These components are the system process, the data used by
the process, an external entity that interacts with the system and the information flows in the
system.

Smart Parking System Data flow diagram is often used as a preliminary step to create an
overview of the Car Parking without going into great detail, which can later be elaborated. It
normally consists of overall application dataflow and processes of the Car Parking process. It
contains all of the user flow and their entities such all the flow of Car, Parking, Parking
Space, Parking Slots,.

4.4.1 DFD Level 0:

Fig. 4.1 DFD for SPS

Dept of CSE, JSSATE Page 28


Smart Parking Lot System (IPark) 2019-2021

This is the Zero Level DFD of Smart Parking System, where we have elaborated the
high level process of Car Parking. It’s a basic overview of the whole Smart Parking System
or process being analyzed or modeled. It’s designed to be an at-a-glance view of Parking
Fees, Car Owner and Car Number showing the system as a single high level process, with its
relationship to external entities of Car Parking and Parking Space. In zero level DFD of
Smart Parking System, we have described the high level flow of the Car Parking system.

High Level Entities and process flow of Smart Parking System:


 Managing all the Car
 Managing all the Parking
 Managing all the Parking Space
 Managing all the Parking Slots
 Managing all the Parking Fees
 Managing all the Car Owner
 Managing all the Car Number

4.4.2 DFD Level 1:


First Level DFD (1st Level) of Smart Parking System shows how the system is
divided into subsystems (processes), each of which deals with one or more of the data flows
to or from an external agent, and which together provide all of the functionality of the Smart
Parking System as a whole. It also identifies internal data stores of Car Number, Car Owner,
Parking Fees, Parking Slots, Parking Space that must be present in order for the Car Parking
system to do its job, and shows the flow of data between the various parts of Car, Parking
Space, Car Owner, Car Number, Parking Fees of the system. DFD Level 1 provides a more
detailed breakout of pieces of the 1st level DFD.

Dept of CSE, JSSATE Page 29


Smart Parking Lot System (IPark) 2019-2021

Fig. 4.2 DFD Level 1 for SPS

Main entities and output of First Level DFD (1st Level DFD):
 Processing Car records and generate report of all Car
 Processing Parking records and generate report of all Parking
 Processing Parking Space records and generate report of all Parking Space
 Processing Parking Slots records and generate report of all Parking Slots
 Processing Parking Fees records and generate report of all Parking Fees
 Processing Car Owner records and generate report of all Car Owner
 Processing Car Number records and generate report of all Car Number

4.4.3 DFD Level 2:

DFD Level 2 then goes one step deeper into parts of Level 1 of Car Parking. It may require
more functionalities of Car Parking to reach the necessary level of detail about the Car
Parking functioning. First Level DFD (1st Level) of Smart Parking System shows how the

Dept of CSE, JSSATE Page 30


Smart Parking Lot System (IPark) 2019-2021

system is divided into sub-systems (processes). The 2nd Level DFD contains more details of
Car Number, Car Owner, Parking Fees, Parking Slots, Parking Space, Parking, Car.

Fig. 4.3 DFD for admin module

Low level functionalities of Online Car Parking System


 Admin logins to the system and manage all the functionalities of Smart Parking
System
 Admin can add, edit, delete and view the records of Car, Parking Space, Parking Fees,
Car Number
 Admin can manage all the details of Parking, Parking Slots, Car Owner
 Admin can tracks the detailed information of Parking, Parking Space, Parking Slots,
Parking Fees.

Dept of CSE, JSSATE Page 31


Smart Parking Lot System (IPark) 2019-2021

Chapter-5
DETAILED DESIGN

5.1 Functional Description of the Modules


User Module: This module refers the User interaction with the system. It contains of various
sub-modules:

 View over All Parking Status: The user can view the parking status of the required
area.
 Book for Parking: After viewing the available parking space with minimal cost the
user can book their parking slot. The status of the booking will remain as pending
until admin accept the request.
 View Booked Status: The user need to check the booking status, the status will be
remain as pending until the booking accepted by the admin. After the admin accepted
the status will be change as Booked.
 View Parked details list: User have the permission to see the parked vehicles details
from all the parking slots. This will help to find their vehicles from a detailed
vehicles report .

Admin Module: This module refers the Admin interaction with the system. It contains of
various sub-modules:

 View and process booked details: The user requested booking details can be view to
the admin, Admin is the authority to accept the booking request, The parking status
will be remain as pending until the admin accepted by the request
 Detailed reports: Admin will provide a detailed report for further references, it will
include date wise report of parked vehicles in the parking space. This will be used for
further references.
 Delete leaving vehicle details: After the parking is finished when the vehicles leave
from the parking space, Admin have the permission to delete the space and it will be
free for another vehicle

Registration Module: This module is for the new sign ups or the registrations made by new
users. After the user enter its details, it is stored in the User database and a request for

Dept of CSE, JSSATE Page 32


Smart Parking Lot System (IPark) 2019-2021

registration is send to the Admin, when the admin accepts the request a mail is generated and
send to the user, containing the user Id and password for future use.

Login Module: This module is for the authentication of user and admin when they login,
their credentials are compared with the stored values in the database, if it is a match, the user
or admin is redirected to their respective pages else the login fails and the user or admin have
to again enter authenticated username and password .

5.2 Use Case Diagram

A use case diagram in the Unified Modeling Language (UML) is a type of


behavioral diagram defined by and created from a Use-case analysis. Its purpose is to present
a graphical overview of the functionality provided by a system in terms of actors, their goals
(represented as use cases), and any dependencies between those use cases. The main purpose
of a use case diagram is to show what system functions are performed for which actor. Roles
of the actors in the system can be depicted.

Fig. 5.1 Use Case for User Interaction

Dept of CSE, JSSATE Page 33


Smart Parking Lot System (IPark) 2019-2021

User Interaction: The user is anyone who owns a car and who wishes to use the Smart
Parking system. He logs in to the system, makes requests for parking lot, searches available
lots and reserves the plot after his successful payment.

Fig. 5.2 Use Case for Admin Interaction

Admin Interaction: Supervises the transactions of the user, he authenticates, broadcasts and
acknowledges the request from the user or client. Makes changes to the database.

Dept of CSE, JSSATE Page 34


Smart Parking Lot System (IPark) 2019-2021

5.3 System Flow Chart

Fig. 5.3 System flow Diagram for SPS

Fig. 5.3 depicts the system flow diagram of Smart Parking System, User interacts with the
SPS , it can view parking details by accessing user database. SPS calculates charges by
referring the database. SPS handles the transactions and parking services and updates the
databases accordingly.

5.4 Activity Diagram


Activity diagram is basically a flowchart to represent the flow from one activity to another
activity. The activity can be described as an operation of the system.

The control flow is drawn from one operation to another. This flow can be sequential,
branched, or concurrent. Activity diagrams deal with all type of flow control by using
different elements such as fork, join, etc

Dept of CSE, JSSATE Page 35


Smart Parking Lot System (IPark) 2019-2021

It captures the dynamic behavior of the system. Activity diagram is used to show message
flow from one activity to another. Fig. 5.4 depicts the Activity diagram of Smart Parking
System.

Fig. 5.4 depicts the Activity diagram of Smart Parking System

Dept of CSE, JSSATE Page 36


Smart Parking Lot System (IPark) 2019-2021

5.5 Sequence diagram

A sequence diagram shows object interactions arranged in time sequence. It depicts the
objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. Sequence diagrams
are typically associated with use case realizations in the Logical View of the system under
development. Sequence diagrams are sometimes called event diagrams or event scenarios.

A sequence diagram shows, as parallel vertical lines (lifelines), different processes or


objects that live simultaneously, and, as horizontal arrows, the messages exchanged between
them, in the order in which they occur. This allows the specification of simple runtime
scenarios in a graphical manner. Fig. 5.4 depicts the Sequence diagram of Smart Parking
System

Fig. 5.4 depicts the Sequence diagram of Smart Parking System

Dept of CSE, JSSATE Page 37


Smart Parking Lot System (IPark) 2019-2021

Chapter-6

IMPLEMENTATION

Implementation is the realization of an application, or execution of a plan, idea,


model, design, standard algorithm or policy. In computer science, an implementation is a
realization of technical specification or algorithm as a program, software, or other computer
system through programming and deployment. Many implementations may exist for a given
specification or standard .A key difference between System implementation and all other
phases of lifecycle is that all the project activities up to this point have been performed in
safe, protected, and secure environments, where the project issues that have aroused have
little or no impact on day- to day business operations .Once the system goes live, however,
this is no longer the case. Any miscues at this point will almost certainly translate into direct
operational and/or financial impacts on the performing organization. It is through the careful
planning, execution and management of system implementation activities that the project
team can minimize the likelihood of these occurrences, and determine appropriate
contingency plans in the event of a problem. Important classes pertaining to the application
are explained in this chapter.

6.1 Platform Selection

Amazon Web Services

Amazon Web Services (AWS) is a secure cloud services platform, offering compute


power, database storage, content delivery and other functionality to help businesses scale and
grow. Explore how millions of customers are currently leveraging AWS
cloud products and solutions to build sophisticated applications with increased flexibility,
scalability and reliability.

Amazon Web Services (AWS) is a comprehensive, evolving cloud


computing platform provided by Amazon. It provides a mix of infrastructure as a service
(IaaS), platform as a service (PaaS) and packaged software as a service (SaaS) offerings.

Dept of CSE, JSSATE Page 38


Smart Parking Lot System (IPark) 2019-2021

AWS launched in 2006 from the internal infrastructure that Amazon.com built to handle its
online retail operations. AWS was one of the first companies to introduce a pay-as-you-go
cloud computing model that scales to provide users with compute, storage or throughput as
needed.

Amazon Web Services provides services from dozens of data centers spread
across availability zones (AZs) in regions across the world. An AZ represents a location that
typically contains multiple physical data centers, while a region is a collection of AZs in
geographic proximity connected by low-latency network links. An AWS customer can spin
up virtual machines (VMs) and replicate data in different AZs to achieve a highly reliable
infrastructure that is resistant to failures of individual servers or an entire data center.

More than 100 services comprise the Amazon Web Services portfolio, including those for
compute, databases, infrastructure management, application development and security. These
services, by category, include:

Compute

Amazon Elastic Compute Cloud (EC2) provides virtual servers -- called instances -- for
compute capacity. The EC2 service offers dozens of instance types with varying capacities
and sizes, tailored to specific workload types and applications, such as memory-intensive and
accelerated-computing jobs. AWS also provides an Auto Scaling tool to dynamically scale
capacity to maintain instance health and performance.

The Amazon EC2 Container Service and EC2 Container Registry enable customers to work
with Docker containers and images on the AWS platform. A developer can also use AWS
Lambda for serverless functions that automatically run code for applications and services, as
well as AWS Elastic Beanstalk for PaaS. AWS also includes Amazon Lightsail, which
provides virtual private servers, and AWS Batch, which processes a series of jobs.

Storage

Amazon Simple Storage Service (S3) provides scalable object storage for data backup,
archival and analytics. An IT professional stores data and files as S3 objects -- which can

Dept of CSE, JSSATE Page 39


Smart Parking Lot System (IPark) 2019-2021

range up to 5 GB -- inside S3 buckets to keep them organized. A business can save money
with S3 through its Infrequent Access storage tier or use Amazon Glacier for long-term cold
storage.

Amazon Elastic Block Store provides block-level storage volumes for persistent data storage
for use with EC2 instances, while Amazon Elastic File System offers managed cloud-based
file storage.

A business can also migrate data to the cloud via storage transport devices, such as AWS
Snowball and Snowmobile, or use AWS Storage Gateway to enable on-premises apps to
access cloud data.

Databases, data management

AWS provides managed database services through its Amazon Relational Database Service,
which includes options for Oracle, SQL Server, PostgreSQL, MySQL, MariaDB and a
proprietary high-performance database called Amazon Aurora. AWS offers
managed NoSQL databases through Amazon DynamoDB.

An AWS customer can use Amazon ElastiCache and DynamoDB Accelerator as in-memory
data caches for real-time applications. Amazon Redshift offers a data warehouse, which
makes it easier for data analysts to perform business intelligence tasks.

Migration, hybrid cloud

AWS includes various tools and services designed to help users migrate applications,
databases, servers and data onto its public cloud. The AWS Migration Hub provides a
location to monitor and manage migrations from on premises to the cloud. Once in the
cloud, EC2 Systems Manager helps an IT team configure on-premises servers and AWS
instances.

Amazon also has partnerships with several technology vendors that ease hybrid cloud
deployments. VMware Cloud on AWS brings software-defined data center technology from
VMware to the AWS cloud. Red Hat Enterprise Linux for Amazon EC2 is the product of
another partnership, extending Red Hat's operating system to the AWS cloud.
Dept of CSE, JSSATE Page 40
Smart Parking Lot System (IPark) 2019-2021

Networking

An Amazon Virtual Private Cloud (VPC) gives an administrator control over a virtual
network to use an isolated section of the AWS cloud. AWS automatically provisions new
resources within a VPC for extra protection.

Admins can balance network traffic with AWS load balancing tools, including Application
Load Balancer and Network Load Balancer. AWS also provides a domain name system
called Amazon Route 53 that routes end users to applications.

An IT professional can establish a dedicated connection from an on-premises data center to


the AWS cloud via AWS Direct Connect.

Development tools and application services

A developer can take advantage of AWS command-line tools and software development kits
(SDKs) to deploy and manage applications and services. The AWS Command Line
Interfaceis Amazon's proprietary code interface. A developer can also use AWS Tools for
Powershell to manage cloud services from Windows environments and AWS Serverless
Application Model to simulate an AWS environment to test Lambda functions. AWS SDKs
are available for a variety of platforms and programming languages, including Java, PHP,
Python, Node.js, Ruby, C++, Android and iOS.

Amazon API Gateway enables a development team to create, manage and monitor custom
APIs that let applications access data or functionality from back-end services. API Gateway
manages thousands of concurrent API calls at once.  

AWS also provides a packaged media transcoding service, Amazon Elastic Transcoder, and a
service that visualizes workflows for microservices-based applications, AWS Step Functions.

A development team can also create continuous integration and continuous deliverypipelines


with services like AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy and AWS
CodeStar. A developer can also store code in Git repositories with AWS CodeCommitand
evaluate the performance of microservices-based applications with AWS X-Ray.

Dept of CSE, JSSATE Page 41


Smart Parking Lot System (IPark) 2019-2021

Management, monitoring

An admin can manage and track cloud resource configuration via AWS Config and AWS
Config Rules. Those tools, along with AWS Trusted Advisor, can help an IT team avoid
improperly configured and needlessly expensive cloud resource deployments.

AWS provides several automation tools in its portfolio. An admin can automate infrastructure
provisioning via AWS CloudFormation templates, and also use AWS OpsWorks and Chef to
automate infrastructure and system configurations.

Security, governance

AWS provides a range of services for cloud security, including AWS Identity and Access
Management (IAM), which allows admins to define and manage user access to resources. An
admin can also create a user directory with Amazon Cloud Directory, or connect cloud
resources to an existing Microsoft Active Directory with the AWS Directory Service.
Additionally, AWS Organizations enables a business to establish and manage policies for
multiple AWS accounts.

AWS also includes tools and services that provide software- and hardware-based encryption,
protect against DDoS attacks, provision Secure Sockets Layer and Transport Layer
Securitycertificates and filter potentially harmful traffic to web applications.

Big data management, analytics

AWS includes a variety of big data analytics and application services. Amazon Elastic
MapReduce offers a Hadoop framework to process large amounts of data, while Amazon
Kinesis provides several tools to process and analyze streaming data.

AWS Glue is a service that handles extract, transform and load jobs, while the Amazon
Elasticsearch Service enables a team to perform application monitoring, log analysis and
other tasks with the open source Elasticsearch tool.

To query data, an analyst can use Amazon Athena for S3, and then visualize data
with Amazon QuickSight.

Dept of CSE, JSSATE Page 42


Smart Parking Lot System (IPark) 2019-2021

Artificial intelligence

AWS offers a range of AI model development and delivery platforms, as well as packaged
AI-based applications. The Amazon AI suite of tools includes Amazon Lex for voice and text
chatbot technology, Amazon Polly for text-to-speech translation and Amazon Recognition for
image and facial analysis. AWS also provides technology for developers to build smart apps
that rely on machine learning technology and complex algorithms.

On the consumer side, AWS technologies power the Alexa Voice Services, and a developer
can use the Alexa Skills Kit to build voice-based apps for Echo devices.

Mobile development

The AWS Mobile Hub offers a collection of tools and services for mobile app developers,
including the AWS Mobile SDK, which provides code samples and libraries.

A mobile app developer can also use Amazon Cognito to manage user access to mobile apps,
as well as Amazon Pinpoint to send push notifications to application end users and then
analyze the effectiveness of those communications.

Messages, notifications

AWS messaging services provide core communication for users and applications. Amazon
Simple Notification Service (SNS) enables a business to send pub-sub messages to endpoints,
such as end users or services. SNS includes a mobile messaging feature that enables push
messaging to mobile devices. Amazon Simple Email Service provides a platform for IT
professionals and marketers to send and receive emails.

Other services

Amazon Web Services has a range of business productivity SaaS options. The Amazon
Chime service enables online video meetings, calls and text-based chats across devices. A
business can also take advantage of Amazon WorkDocs, a file storage and sharing service,
and Amazon WorkMail, a business email service with calendaring features.

Dept of CSE, JSSATE Page 43


Smart Parking Lot System (IPark) 2019-2021

Desktop and streaming application services include Amazon WorkSpaces, a remote desktop-


as-a-service platform, and Amazon AppStream, a service that lets a developer stream a
desktop application from AWS to an end user's web browser.

AWS also has a variety of services that enable internet of things (IoT) deployments.
The AWS IoT service provides a back-end platform to manage IoT devices and data
ingestion to other AWS storage and database services. The AWS IoT Button provides
hardware for limited IoT functionality, and AWS Greengrass brings AWS compute
capabilities to IoT devices.

AWS pricing models and competition

AWS offers a pay-as-you-go model for its cloud services, either on a per-hour or per-second
basis. There is also an option to reserve a set amount of compute capacity at a discounted
price for customers who prepay in whole, or who sign up for one- or three-year usage
commitments.

6.2 Language Selection

Java technology is both a programming language and a platform.

The Java Programming Language

The Java programming language is a high-level language that can be characterized by


all of the following buzzwords:

 Simple  Architecture neutral

 Object oriented  Portable

 Distributed  High performance

 Multithreaded  Robust

 Dynamic  Secure

Dept of CSE, JSSATE Page 44


Smart Parking Lot System (IPark) 2019-2021

One characteristic of Java is portability, which means that computer programs written
in the Java language must run similarly on any hardware/operating-system platform. This is
achieved by compiling the Java language code to an intermediate representation called Java
bytecode, instead of directly to platform-specific machine code. Java bytecode instructions
are analogous to machine code, but they are intended to be interpreted by a virtual machine
(VM) written specifically for the host hardware. End-users commonly use a Java Runtime
Environment (JRE) installed on their own machine for standalone Java applications, or in a
Web browser for Java applets.

Standardized libraries provide a generic way to access host-specific features such as


graphics, threading, and networking.

A major benefit of using bytecode is porting. However, the overhead of interpretation


means that interpreted programs almost always run more slowly than programs compiled to
native executables would. Just-in-Time (JIT) compilers were introduced from an early stage
that compile bytecodes to machine code during runtime.

The Java platform has two components:

 The Java Virtual Machine


 The Java Application Programming Interface (API)

NodeJS

Node.js is an open-source, cross-platform JavaScript run-time environment that executes


JavaScript code server-side. Historically, JavaScript was used primarily for client-side
scripting, in which scripts written in JavaScript are embedded in a webpage's HTML and run
client-side by a JavaScript engine in the user's web browser. Node.js lets developers use
JavaScript for server-side scripting—running scripts server-side to produce dynamic web
page content before the page is sent to the user's web browser. Consequently, Node.js
represents a "JavaScript everywhere" paradigm unifying web application development around
a single programming language, rather than different languages for server side and client side
scripts.

Why NodeJS? The main idea of Node.js: use non-blocking, event-driven I/O to remain
lightweight and efficient in the face of data-intensive real-time applications that run across
distributed devices.

Dept of CSE, JSSATE Page 45


Smart Parking Lot System (IPark) 2019-2021

 Node.js is not a silver-bullet new platform that will dominate the web development
world. Instead, it’s a platform that fills a particular need. And understanding this is
absolutely essential. You definitely don’t want to use Node.js for CPU-intensive operations;
in fact, using it for heavy computation will annul nearly all of its advantages. Where Node
really shines is in building fast, scalable network applications, as it’s capable of handling a
huge number of simultaneous connections with high throughput, which equates to high
scalability.

How it works under-the-hood is pretty interesting. Compared to traditional web-serving


techniques where each connection (request) spawns a new thread, taking up system RAM and
eventually maxing-out at the amount of RAM available, Node.js operates on a single-thread,

Dept of CSE, JSSATE Page 46


Smart Parking Lot System (IPark) 2019-2021

using non-blocking I/O calls, allowing it to support tens of thousands of concurrent


connections 

A quick calculation: assuming that each thread potentially has an accompanying 2 MB of


memory with it, running on a system with 8 GB of RAM puts us at a theoretical maximum of
4,000 concurrent connections , plus the cost of context-switching between threads. That’s the
scenario you typically deal with in traditional web-serving techniques. By avoiding all that,
Node.js achieves scalability levels of over 1M concurrent connections, and over 600k
concurrent websockets connections.
There is, of course, the question of sharing a single thread between all clients requests, and it
is a potential pitfall of writing Node.js applications. Firstly, heavy computation could choke
up Node’s single thread and cause problems for all clients (more on this later) as incoming
requests would be blocked until said computation was completed. Secondly, developers need
to be really careful not to allow an exception bubbling up to the core (topmost) Node.js event
loop, which will cause the Node.js instance to terminate (effectively crashing the program).

The technique used to avoid exceptions bubbling up to the surface is passing errors back to
the caller as callback parameters (instead of throwing them, like in other environments). Even
if some unhandled exception manages to bubble up, tools have been developed to monitor the
Node.js process and perform the necessary recovery of a crashed instance, the most common
being the Forever module, or using a different approach with external system
tools upstart and monit, or even just upstart.

6.3 Coding Conventions

Coding conventions are a set of guidelines for a specific programming language that
recommend programming style, practices and methods for each aspect of a piece program
written in this language. These conventions usually cover file organization, indentation,
comments, declarations, statements, white space, naming conventions, programming
practices, programming principles, programming rules of thumb, architectural best practices,
etc. These are guidelines for software structural quality. Software programmers are highly
recommended to follow these guidelines to help improve the readability of their source code
and make software maintenance easier. Coding conventions are only applicable to the human
maintainers and peer reviewers of a software project. Conventions may be formalized in a
documented set of rules that an entire team or company follows, or may be as informal as the

Dept of CSE, JSSATE Page 47


Smart Parking Lot System (IPark) 2019-2021

habitual coding practices of an individual. Coding conventions are not enforced by compilers.
As a result, not following some or all of the rules has no impact on the executable programs
created from the source code

6.4 Tools used for Implementation

6.4.1 Android Studio

Android Studio is the official[7] integrated development environment (IDE)


for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and
designed specifically for Android development.It is available for download
on Windows, macOS and Linux based operating systems. It is a replacement for the Eclipse
Android Development Tools (ADT) as primary IDE for native Android application
development.

The following features are provided by Android Studio

 Gradle-based build support


 Android-specific refactoring and quick fixes.
 Lint tools to catch performance, usability, version compatibility and other problems
 ProGuard integration and app-signing capabilities
 Template-based wizards to create common Android designs and components
 A rich layout editor that allows users to drag-and-drop UI components, option
to preview layouts on multiple screen configurations[16]
 Support for building Android Wear apps
 Built-in support for Google Cloud Platform, enabling integration with Firebase Cloud
Messaging (Earlier 'Google Cloud Messaging') and Google App Engine[17]
 Android Virtual Device (Emulator) to run and debug apps in the Android studio.

Android Studio supports all the same programming languages of IntelliJ,


and PyCharm e.g. Python, and Kotlin; and Android Studio 3.0 supports "Java 7 language
features and a subset of Java 8 language features that vary by platform version." [19] External
projects backport some Java 9 features

6.4.2 Virtual Source Code


Dept of CSE, JSSATE Page 48
Smart Parking Lot System (IPark) 2019-2021

Visual Studio Code is a source code editor developed


by Microsoft for Windows, Linux and macOS. It includes support for debugging,
embedded Git control, syntax highlighting, intelligent code completion, snippets, and code
refactoring. It is also customizable, so users can change the editor's theme, keyboard
shortcuts, and preferences. It is free and open-source, although the official download is under
a proprietary license

Visual Studio Code is based on Electron, a framework which is used to


deploy Node.js applications for the desktop running on the Blink layout engine. Although it
uses the Electron framework, the software does not use Atom and instead employs the same
editor component (codenamed "Monaco") used in Visual Studio Team Services (formerly
called Visual Studio Online).

It supports a number of programming languages and a set of features that may or may
not be available for a given language, as shown in the following table. Many of Visual Studio
Code features are not exposed through menus or the user interface. Rather, they are accessed
via the command palette or via a .json file (e.g., user preferences).] The command palette is
a command-line interface. However, it disappears if the user clicks anywhere outside it or
presses a key combination on the keyboard to interact with something outside it. This is true
for time-consuming commands as well. When this happens, the command in progress is
cancelled.

6.4.3 Postman

The Postman Rest Client is a very popular and easy to use HTTP Request composer
that makes it easy to call web services, similar to Fiddler's Composer. It also provides as an
alternative for autogenerating API documentation to ServiceStack's Swagger support that
makes it easier to call existing services but does require users to install the Postman Rest
Client.

6.4.4 MongoDB

MongoDB is a free and open-source cross-platform document-oriented database program.


Classified as a NoSQLdatabase program, MongoDB uses JSON-like documents

Dept of CSE, JSSATE Page 49


Smart Parking Lot System (IPark) 2019-2021

with schemas. MongoDB is developed by MongoDB Inc., and is published under a


combination of the GNU Affero General Public License and the Apache License.

MongoDB supports field, range queries, regular expression searches.[8] Queries can return
specific fields of documents and also include user-defined JavaScript functions. Queries can
also be configured to return a random sample of results of a given size.

MongoDB provides high availability with replica sets.[9] A replica set consists of two or more
copies of the data. Each replica set member may act in the role of primary or secondary
replica at any time. All writes and reads are done on the primary replica by default.
Secondary replicas maintain a copy of the data of the primary using built-in replication.
When a primary replica fails, the replica set automatically conducts an election process to
determine which secondary should become the primary. Secondaries can optionally serve
read operations, but that data is only eventually consistent by default.

MongoDB scales horizontally using sharding. The user chooses a shard key, which
determines how the data in a collection will be distributed. The data is split into ranges (based
on the shard key) and distributed across multiple shards. (A shard is a master with one or
more slaves.). Alternatively, the shard key can be hashed to map to a shard – enabling an
even data distribution.

MongoDB can run over multiple servers, balancing the load or duplicating data to keep the
system up and running in case of hardware failure.

MongoDB can be used as a file system with load balancing and data replication features over
multiple machines for storing files.

This function, called grid file system,[11] is included with MongoDB drivers. MongoDB
exposes functions for file manipulation and content to developers. GridFS is used in plugins
for Nginx and lighttpd. GridFS divides a file into parts, or chunks, and stores each of those
chunks as a separate document.

Dept of CSE, JSSATE Page 50


Smart Parking Lot System (IPark) 2019-2021

Chapter-7

SOFTWARE TESTING

Software testing is an investigation conducted to provide stakeholders with


information about the quality of the product or service under test. Software testing can also
provide an objective, independent view of the software to allow the business to appreciate
and understand the risks of software implementation. Test techniques include, but are not
limited to the process of executing a program or application with the intent of finding
software bugs (errors or other defects).

Software testing can be stated as the process of validating and verifying that a
computer program/application/product:

 meets the requirements that guided its design and development,

 works as expected,

 can be implemented with the same characteristics,

 satisfies the needs of stakeholders.

Software testing, depending on the testing method employed, can be implemented at


any time in the software development process. Traditionally most of the test effort occurs
after the requirements have been defined and the coding process has been completed, but in
the Agile approaches most of the test effort is on-going. As such, the methodology of the test
is governed by the chosen software development methodology.

7.1 Testing Process

Testing is a process rather than a single activity. This process starts from test planning
then designing test cases, preparing for execution and evaluating status till the test closure.
Testing of any unit involves:

 Selecting Test Cases

Dept of CSE, JSSATE Page 51


Smart Parking Lot System (IPark) 2019-2021

 Execute Test Cases

 Evaluate the results of testing

7.2 Test Plan

A document describing the scope, approach, resources and schedule of intended test
activities. It identifies amongst others test items, the features to be tested, the testing tasks,
who will do each task, degree of tester independence, the test environment, the test design
techniques and entry and exit criteria to be used, and the rationale for their choice, and any
risks requiring contingency planning. It is a record of the test planning process.

Testing can be divided into two phases:

 Unit Testing

 Integration Testing

7.3 Unit Testing

Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software
units of the application .it is done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its construction and is
invasive. Unit tests perform basic tests at component level and test a specific business
process, application, and/or system configuration. Unit tests ensure that each unique path of a
business process performs accurately to the documented specifications and contains clearly
defined inputs and expected results.

7.3.1 Test Cases for Unit Testing

Serial No. of Test Case 1

Module under Test User

Description The User interacts with the system to

Dept of CSE, JSSATE Page 52


Smart Parking Lot System (IPark) 2019-2021

make requests and look for database

Mode of Operation By logging in as an authenticated user

Expected Output User must be able to reserve,re-allot


and new parking requests. Look the
database to check the availability.

Actual Output Same as expected output

Remarks Test Successful

Table 7.1 Test case for User Module

Serial No. of Test 2


Case:

Module under Test Admin

Description The Admin interacts with the system


to accept/reject requests and update
database, make new car entries and add or
delete users.

Mode of Operation By logging in as an authenticated


admin

Expected Output Admin must be able to accept/reject


issue, re-issue and new parking requests
from users. Check and update Databases
according to requests and transactions
made. Add entries of cars. Accept User
registration request and send a mail to
respective user.

Actual Output Same as expected output

Remarks Test Successful

Table 7.2 Test case for Admin Module

Serial No. of Test 3

Dept of CSE, JSSATE Page 53


Smart Parking Lot System (IPark) 2019-2021

Case

Module under Test Login

Description User or Admin enter their username


and password

Mode of Operation Clicking the Login Tab

Expected Output The Admin or User must be redirected


to the Admin module or User Module
respectively, only to authenticated Admin
and User

Actual Output Same as expected output

Remarks Test Successful

Table 7.3 Test case for Login Module

Serial No. of Test Case 4

Module under Test Registration

Description The User enter its details and


password to register itself with the system
to access LMS effectively

Mode of Operation By Clicking on Register Tab

Expected Output User enters its detail and password,


the registration request is updated in
admin database.

Actual Output Same as expected output

Remarks Test Successful

Table 7.4 Test case for Registration Module

7.4 Integration Testing


Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by interface
defects.
Dept of CSE, JSSATE Page 54
Smart Parking Lot System (IPark) 2019-2021

The task of the integration test is to check that components or software applications,
e.g. components in a software system or – one step up – software applications at the company
level – interact without error.

Test Results: All the test cases mentioned above passed successfully. No defects
encountered.

7.5 Acceptance Testing


User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.

Test Results: All the test cases mentioned above passed successfully. No defects
encountered.

Chapter-8

SCREENSHOTS

Dept of CSE, JSSATE Page 55


Smart Parking Lot System (IPark) 2019-2021

Dept of CSE, JSSATE Page 56


Smart Parking Lot System (IPark) 2019-2021

Dept of CSE, JSSATE Page 57


Smart Parking Lot System (IPark) 2019-2021

Dept of CSE, JSSATE Page 58


Smart Parking Lot System (IPark) 2019-2021

Dept of CSE, JSSATE Page 59


Smart Parking Lot System (IPark) 2019-2021

Admin Application

Dept of CSE, JSSATE Page 60


Smart Parking Lot System (IPark) 2019-2021

Dept of CSE, JSSATE Page 61


Smart Parking Lot System (IPark) 2019-2021

Dept of CSE, JSSATE Page 62


Smart Parking Lot System (IPark) 2019-2021

Chapter-9

CONCLUSION
If it is a dwelling, entertainment centre or a market place, the first and foremost question in
the minds of everyone is about the parking slot. Compared to other developed countries, the
problem of parking is disheartening in India as there is no well devised plan in place. The
parking problem is quite acute in places of entertainment such as theatres and shopping
malls..
We touched a small scenario of parking problem in India in this paper. We brought out in this
paper how the parking problem in such places can be tackled with a well-thought plan. The
plan helps both the visitors and administrators. It helps the visitors in finding out the
availability of a parking slot, get the availability confirmed, and reach the place within the
time slot allotted. It helps the administration to allocate the vacant slot to the next person in
queue. A well thought parking plan saves the time of visitors in booking a parking slot in
advance and the administration to allocate the vacant slot in a methodical and organized
manner.

Dept of CSE, JSSATE Page 63


Smart Parking Lot System (IPark) 2019-2021

9.1 Limitations

 It is not recommended for high peak hour volume facilities.

 The service cannot be provided if there is no smart phone.

 Network connection must be present all the time.

 Admin must be logged in to accept/ reject requests.

 The database must be updated every time new users are added in parking lot.

9.2 Future Enhancement

The “IPark” Application can be developed for other popular mobile operating systems.
In future, our application can be implemented on the existing operating systems like iOS,
Windows and BlackBerry also on the upcoming and promising operating systems like Firefox
OS, Jolla and Tizen. Our application can be used as an alternative to the present parking
systems in malls, at railway stations, near airports, theatres, etc. as an efficient means to park.
Google Wallet can used to make secure payments fast and convenient.

Chapter 10

REFERENCES
[1] Faiz Ibrahim Shaikh, Pratik Nirnay Jadhav, Saideep Pradeep Bandarkar, Omkar Pradip Kulkarni,
Nikhilkumar B. Shardoor “Smart Parking System Based on Embedded System and Sensor Network”,
International Journal of Computer Applications (0975 – 8887) Volume 140 – No.12, April 2016
International Journal of Pure and Applied Mathematics Special Issue 171

[2] Thanh Nam Pham1, Ming-Fong Tsai1, Duc Binh Nguyen1, Chyi-Ren Dow1, And Der-Jiunn Deng2
“A Cloud-Based Smart-Parking System Based on Internet-of-Things Technologies”,IEEE Access,
Received July 24, 2015, accepted August 16, 2015, date of publication September 9, 2015, date of
current version September 23, 2015.

[3] El Mouatezbillah Karbab, Djamel Djenouri, Sahar Boulkaboul, Antoine Bagula, CERIST Research
Center, Algiers, Algeria University of the Western Cape, Cape town, South Africa,”Car Park

Dept of CSE, JSSATE Page 64


Smart Parking Lot System (IPark) 2019-2021

Management with Networked Wireless Sensors and Active RFID”„,978-1-4799-8802-0/15 ©2015


IEEE

[4] Mr. Basavaraju S R “Automatic Smart Parking System using Internet of Things (IOT)”,
(International Journal of Scientific and Research Publications, Volume 5, Issue 12, December 2015)

[5] M. M. Rashid, A. Musa, M. Ataur Rahman, and N. Farahana, A. Farhana, “Automatic Parking
Management System and Parking Fee Collection Based on Number Plate Recognition.”, International
Journal of Machine Learning and Computing, Vol. 2, No. 2, April 2012,Published 2014.

[6] Hilal Al-Kharusi, Ibrahim Al-Bahadly, “Intelligent Parking Management System Based on Image
Processing”, World Journal of Engineering and Technology, 2014, 2, 55-67.

[7] X. Zhao, K. Zhao, and F. Hai, ``An algorithm of parking planning for smart parking system,'' in Proc.
11th World Congr. Intell. Control Autom. (WCICA), 2014, pp. 4965_4969.

[8] L. Mainetti, L. Palano, L. Patrono, M. L. Stefanizzi, and R. Vergallo,``Integration of RFID and WSN
technologies in a smart parking system,''in Proc. 22nd Int. Conf. Softw., Telecommun. Comput. Netw.
(SoftCOM), 2014, pp. 104_110.

[9] Harmeet Singh, Chetan Anand, Vinay Kumar, Ankit Sharma, “Automated Parking System With
Bluetooth Access”, International Journal Of Engineering And Computer Science ISSN:2319-
7242,Volume 3 Issue 5, May 2014, Page No. 5773-5775

[10] C. Shiyao, W. Ming, L. Chen, and R. Na, ``The research and implementof the intelligent parking
reservation management system based on ZigBee technology,'' in Proc. 6th Int. Conf. Meas. Technol.
Mechatronics Autom. (ICMTMA), 2014, pp. 741_744.

[11] Yanfeng Geng, Student Member, IEEE, and Christos G. Cassandras, Fellow, IEEE “New Smart
Parking System Based onvResourcevAllocation and Reservations”, IEEE Transactions on intelligent
transportation systems, VOL. 14, NO. 3, September 2013. International Journal of Pure and Applied
Mathematics Special Issue 172

[12] Y. Geng and C. G. Cassandras, ``New `smart parking' system based on resource allocation and
reservations,'' IEEE Trans. Intell. Transp. Syst., vol. 14, no. 3, pp. 1129_1139, Sep. 2013.

[13] P.Dharma Reddy, A. Rajeshwar Rao, Dr. Syed Musthak Ahmed, “An Intelligent Parking Guidance
and Information System by using image processing technique”, IJARCCE, Vol. 2, Issue 10, October
2013.

Dept of CSE, JSSATE Page 65


Smart Parking Lot System (IPark) 2019-2021

[14] ManjushaPatil, Vasant N. Bhonge “Wireless Sensor Network and RFID for Smart Parking System”
International Journal of Emerging Technology and Advanced Engineering Website: www.ijetae.com
(ISSN 2250-2459, ISO 9001:2008 Certified Journal, Volume 3, Issue 4,April 2013)

[15] J. Bonde “Automated car parking system commanded by android application” in Proc. IEEE
Conf.,03-05, Jan 2012.

Dept of CSE, JSSATE Page 66

You might also like