Design and Development of Mobile Application for Parking Reservation System

Every emerging country face the issue of public parking congestion in the urban area. Ignoring the issue would breed a series of problems; from traffic disruption to violating the laws related to traffic. In Malaysia, the City Council has made an effort to mitigate the problem by using a coupon which largely handled manually by the user by purchasing and paying the coupon through a machine. However, the procedure of using a coupon is considered inefficient due to challenges such as; extensive time, coupon exploitation and material waste. Therefore, to mitigate the problem surfaced in the current procedure, a mobile application is developed to handle the parking reservation process. The reservation process included the function to view the parking's availability thus presented the user the advantage of reserving parking earlier in the case of parking usage are at the peak. This paper highlighted the requirement identification and design and development phases.


INTRODUCTION
Urbanization is not only referring to a modern phenomenon but also population growth in an urban area. The matter of economic crisis causes people to change their directions of living (Nations & Introduction, 2010), consequently, they moved from rural to the urban area for job opportunities. A high-density population in the urban area comes with a different perspective (Brenner, 2013), blooming business activities and searing infrastructure. These positive impacts come with drawbacks -such as parking congestion. Parking congestion or the limitation of parking spaces for public populace is a well-known issue in the crisis of urbanization (Liu et al., 2012).
In the context of parking spaces, in Perlis, a smaller state in Peninsular Malaysia also confronted with the parking congestion problem. The City Council implemented the use of parking coupon for the parking space management. Although, it is considered to be inefficient since the public can break the parking rules and nonchalantly abusing it (Fisman & Miguel, 2007) -such as using the 30 minutes coupon over its time limit. These have become a norm and if this issue were neglected, it will affect the economy as well as the rights of the public. Furthermore, the process to find an empty parking space is frustrating because the drivers need to take a detour and wait for a parked car to release a parking space (Yan, Yang, Rawat, & Olariu, 2010).
Thus, there is a need for research to find a solution to solve or at least mitigate the issue. With the emergence of mobile technologies, which allow a mobile device to communicate with each other (Rico, Sancho, Cendon, & Camus, 2013), the application of this technology can contribute towards exploring the solutions to solve the parking management issue.
The objective of this paper is to develop a prototype of Android mobile application which serves as the means for parking reservation management. The prototype would be able to reduce the time consumed in reserving empty parking spaces for people to use, mitigating the issues of the current coupon purchase procedure.
This paper is organized as follows; the first section introduces the motivation and objective of the paper. Some related works described in the second section, followed by the discussion about the methodology in the third section. In the fourth section, the result and discussion are presented and the paper is concluded in the final section.

Manual Coupon
The first approach is the manual method which is used by the City Council in Perlis. The City Council produces a physical coupon which is sold to the public for parking reservation. It needs to be displayed clearly on a parked car for City Council staff observational purposes -usually on the car front dashboard. This manual method had issues with user ethics, parking management, and resources wastes. Buying the coupon designates the right for the buyer to use a parking space in the covered area. Although, there are cases which the buyer uses a used coupon to pay for their parking use, which indicates the problem of user ethics. However, the City Council combated this issue by sending their staff to check for cars that parked illegally by manually checking the detail of the coupon displayed on the car dashboard. Nonetheless, the solution is poor as it is time-consuming and wasting labour resources. Another issue with resources is the coupon itself, which uses paper as its material and needed to be mass-produced. On the side of the parking user, aside for ethical issues, it is time-consuming for them to search for empty parking to use, and they also need to use a physical object to scratch open the coupon every time they needed to apply it. PADIYO mobile application allows car owners to pay their parking fees via the apps. The primary issue of searching for coupon machine is eliminated. Even though the user is in an unfamiliar area, the information about the parking spaces will be identified automatically by the apps -which includes the supported local council, the area, and charges of the parking space they wanted to use. Additional features such as a reminder for parking validity is also included. The use of e-Wallet technology making sure it is easy for the user to convert their money into tokens which are used to the parking payment. ("Padiyo | PARK PAY HASSLE-FREE," n.d.). The third related work is Parking.sg, a mobile app which provides the features for its user to pay for their short-term parking charges. This app can be used in conjunction with the existing coupon-based public car parking spaces -it serves as a better alternative for the user for parking charges payment. Information such as vehicle number, the parking space, parking duration, and payment using debit or credit card are needed before using the parking space. Parking period extension is also possible through using the app.

Comparison of Related Works
least efficient since it only provides two of the listed features. The prototype for this project, My Public Parking (MPP) mobile application, would not resolve all the problem faced by these related works. Rather, it focuses to mitigate the problem faced by the Perlis City Council concerning with the public parking spaces. The Perlis City Council is currently using manual coupon parking which is described in the related works. MPP provides the feature of a parking reservation and a real-time monitoring feature that shows the availability of the parking spaces. Some limitation to MPP includes; authority was unable to use it for monitoring and payment purposes yet. Nevertheless, the objective of this prototype is to provide a means for parking users to plan their journey so that it can save them time in searching for parking at their destination, which in the same time could save material resources from producing physical coupon results to wastes.

METHODOLOGY
The figure below shows the summarization of the applied research methodology. The first phase focuses on gathering information to develop the prototype -Requirement Identification. Followed by the second phase that based on the previous requirement, a design is created and the prototype is built based on the design. In this section, only two of the methodology are discussed; requirement identification and design and development.

Phase 1: Requirement Identification
Requirement identification phases were introductory research in discovering the needed details which act as an affirmation of the requirements before developing the application.
There are two sub-phases in this phase; 1) requirement gathering where the data of the user requirements were collected by conducting two main activities; interviews and observation, and 2) requirement analysis, where the gathered requirement is translated into useful diagrams and informative tables that mainly assist the developer to visualise, document, specify and construct the artefacts of the application to be developed.

Phase 2: Design and Development
The second phase is a crucial phase which focuses on the design and the development of the system based on the collected requirements on the previous phase.
This phase contained two sub-phases; 1) system design -designing the interface by using Android Studio, the database by using NoSQL with the support of Google Firebase, and 2) system development -which mostly consists of the coding process to implement the functionality indicated in the first phase, thus producing a complete mobile application prototype.

FINDINGS AND DISCUSSION
The results of the interview indicated the target users highly preferred a platform that supports mobility, thus a mobile application is a better choice as it fulfils the user requirement. Other than that, the mobile apps requirements are further derived from conducting interviews with the target users -random citizen with cars, and observation. The interview consists of questions that need to be answered, with some suggestions from the users. Meanwhile, the observation is carried out by monitoring and recording the detailed process of parking in Arau, Perlis parking spaces. Through the review of the information gathered from the interview and observation session, the requirement for mobile application is determined. The requirements are divided into categories based on these priorities: i. M -Mandatory requirements (something the system must do) ii.
D -Desirable requirements (something the system preferably should do) iii.
O -Optional requirements (something the system may do) The table below shows the requirement list obtained from the two performed activities.  The figure above shows the class diagram of the system. The diagram showed a static view of the system. The class diagrams are widely used to directly mapped with object-oriented languages, it is used during the system construction period.
The figure below shows the use case diagram of the system. The diagram shows two actors, first the Arau Communities which consist of people who uses public parking, and the admin actor who manages the data for the mobile application. The cases shown in the diagram are the requirement summarised into a simple case. The detailed activity for each case are translated in the activity diagram. The Activity Diagram shows the detailed process for both actors interaction with the system. For the sake of simplicity, only one Activity Diagram is included in this paper which is the registration process below. In the design and development phase, the activity started with user interface design. User interface (UI) design is the process of making interfaces in software or computerized devices with focused looks or style. Therefore, UI for mobile application is the graphical and usually touch-sensitive display on a mobile device. In addition to this matter, mobile devices have smaller screen size and touch-screen control. Hence, mobile UI needs to be simple and less in text field usage. Two figures above are the parking browser and parking history page. In the parking browser page, the user can view the empty or occupied parking. Green color indicates empty parking, while red is reserved by other users. Yellow color indicates the current user themselves. In the parking history, user's reservation history is shown. In this interface, the setting to show the parking history starts with the parking slot number. Then, it is followed by the date with a format of "YYYY-MM-DD". Next is the time the user starts parking which is in the format of 24 hour "HH:MM:SS" as the display, and the time for parking checkout follows right after. The value null means, the car is not checked out yet.
For the database of the mobile application, Firebase will be used. Firebase provides a realtime database and backend as a service. The service provides the application developers with an Application Programming Interface (API) that allows the application data to be synchronized across clients and stored on firebase's cloud service.
Moreover, the firebase is a NoSQL database, a big JSON object where its user can store whatever they want inside it. Moreover, providing easier access and storing, firebase JSON uses no schema for the database, no tables or columns, but with only the combinations of key or value or both. The data sample for the mobile apps shown in JSON format is shown in the figure 9. Android Studio is the software used mostly for the development process. The software support C++, Java and Kotlin programming languages. In this prototype development, the programming languages used is Java.
In this paper, the development process highlighted is the User-sign in functionality. User authentication used for the system is provided by firebase API, integrated with the Android Studio codes. By using their API, the user needs to enter valid email and password where the minimum length is 6 characters.  Figure below shows the registration process. Besides the email icon, the user also needs to key-in their valid email. Then, below the email is where the user keys-in the password. In addition, for security purposes, each password character typed will be replaced with symbol "*". Next, after the user inserts their email and password and taping on the register button, a progress dialog will appear to notify the user that the system is registering them as a user. Hence, the user now has the authentication to use the system as showed in figure belowinterface is provided by the Firebase API.

CONCLUSION AND RECOMMENDATION
This paper described a study on the design and development of the mobile application for parking reservation system. It has two phases which is on requirement identification and design and development. These two phases consist of several activities that are suitable for an application development. Modeling tools and software used are emphasised in the result and discussion. The phases implemented in the methodology could be applied in any project involving a development process.