Travel Journal Application as an Android-Based Traveling Visitor Using Firebase

− Traveling is an activity that people do today to take a break from work, study or just enjoy the beauty of nature. But sometimes people forget whether they have visited a certain place. Photos in their gallery, which are not organized in their smartphone's internal storage and are not accompanied by a placemark, will cause someone to forget exactly what happened in a place. In this study, an Android-based application recording system will be designed to make the traveler who wanted to take photos during their vacation easy. This application uses real-time Firebase database features, Mapbox maps API, and GPS technology to differentiate between every photo was being taken. Firebase has the ability to automatically update changes made by one user to another and notify them simultaneously. This feature is useful for sharing happy moments with friends on the trip. And this application will send a reminder again when they visit a place not far from the one they are currently visiting.


INTRODUCTION
The rapid development of technology helps humans in carrying out their daily activities. Traveling to a tourist place or what is often called traveling can be considered an important need for everyone. Some people do it intending to release boredom from their daily routine, others want to enjoy the beauty of nature or learn about history. Someone may have visited a location, done various activities, and made many memories in the form of photos or videos at the location directly. Unfortunately, because a lot of locations have been visited as well as time reasons, these important files and data are not neatly organized or sorted on their phone's internal storage and are also not accompanied by a location marker at the exact location where the file was obtained, it will cause someone difficult to find about what's going on at that place. Manual search will obviously take a long time and is ineffective. So the data obtained is not valid and can be manipulated [1].
Similar research related to the development of a traveling support system in the form of a Tracking application is the Design of a Real-Time Touring Supporting Tracking Application System with a Case Study of the Trigramyama Motor Community Salatiga [2]. However, in this study, there was no feature to save travel photos, share photos, or detect the user's current location with tourist attractions that have been visited based on current coordinates.
Reliable cloud computing technology is needed to store data and communicate between users quickly. One of the cloud computing services that meet these criteria is Firebase. Firebase is a web application platform. Firebase stores data in JSON (JavaScript Object Notation) format [3].
GPS (Global Positioning System) technology has a big role in getting the coordinates of the current user. With GPS, the app gets the exact coordinates to store in the Firebase cloud database. GPS can also be used to detect whether the user is in an area close to the tourist attractions he is currently visiting. This ability to measure a location can be compared to the Euclidean distance measurement formula. Euclidean distance itself is a calculation to measure two points in Euclidean space which studies the relationship between angles and distances [4]. The formula and GPS technology are the main keys to this detection feature.
Based on this background, the authors designed the Travel Journal application as a recorder of users' traveling activities by utilizing Firebase cloud computing technology and GPS technology that is already available on the user's smartphone device.

Travel Journal
Travel journal contains data/logs/travel of someone who stores location data, pictures, comments, etc., related to travel history data. [5]

Android
Is a mobile device with a Linux-based operating system and is designed for touchscreen devices. Its use is increasingly popular and more and more apps are made based on android. [6]

Cloud Computing
Cloud Computing is a computing method that exchanges data/resources via requests to the internet. The user will pay the price only several resources are used according to usage. The services provided by cloud computing providers usually also vary from Storage, Database, Virtual Server, etc. [7]

Firebase
Is a Cloud Service that is mostly used to create applications that need real-time data exchange either on a website or mobile. [8] Can be combined with various frameworks and exchange data via API in the form of JSON files. Synchronization is done in real-time and using a NoSQL database. [9] 2.5 JSON JSON (JavaScript Object Notation) is the most common type of file/data used for exchanging data via the web using HTTP Requests, of type object and consisting of key and value pairs. [10] 2.6 GPS The GPS navigation system (Global Positioning System) is a navigation satellite system that is widely implemented anywhere, one of which is on smartphones because it determines the position of objects using satellites and the Triangulation method. [11] This system was developed by the US Department of Defense and was originally used for military purposes. But now its implementation has expanded to the point where it can be used as a Maps service, directions, distance prediction, etc. This system is still used today when it comes to location and is still considered the most accurate at this time. [12]

Mapbox API
Is one of the API service providers, especially for the Maps service. The service itself is not inferior to the Google Maps API. The author chose to use the Service from this API because it tends to be easier to use and easier to integrate with the framework that I will use, namely the Lumen Framework. The pricing itself is also quite cheap, cheaper than Google Maps Service. [13]

SDLC Waterfall
Is the most common system development method used by software developers to develop their applications. This method is carried out systematically/structurally and sequentially. This diagram itself has several phases starting from planning (planning), analysis (analysis), system design (design), implementation (implementation), testing (testing), and finally maintenance (maintenance). [14]

Blackbox Testing
A type of program testing/evaluation in which functionality testing is performed without detailed knowledge of implementation, code structure, and other internal parts. Testing is carried out completely based on the specifications and prerequisites of the program. [15] This test is very subjective based on the perspective of the examiner / user. Unlike the developer team, these testers/users perform tests without having an idea of the program's structure and functionality to find out system weaknesses and errors. [16] The system design method that the author uses is SDLC Waterfall, which goes through the following stages: • Planning Before developing a program, it is necessary to plan and collect the right requirements. In this stage, the system developer needs to communicate to understand the software requirements expected by the user and the limitations of the software. Information can be obtained through interviews, discussions, or field surveys.
• Analyst After getting a fairly complete requirement, the developer needs to analyze the needs from a developer perspective, hardware requirements, software, database tables, etc.
• Design At this stage, the developer begins to create a system design or prototype that can help both users and developers determine hardware requirements, system requirements and also an overview of the overall system architecture.
• Implementation The system will begin to be developed in the form of modules or small programs called units. Each unit is developed and tested for its respective functionality which is commonly referred to as unit testing.
• Testing System testing is carried out to verify and test whether the system can run according to system requirements according to limitations, testing can be done in BlackBox or Whitebox, and the tested modules can be categorized into unit testing (certain code modules), system testing (modules that are integrated with modules) other).
• Maintenance This is the final stage, namely performing maintenance on software that is already running/deployed. Maintenance includes fixing errors/bugs not found in the previous step.

III.
RESULTS AND DISCUSSION The Travel Journal application has a variety of features that make it easy for users to save their memories at a certain tourist spot. So that users can use the application well, users can follow the following usage procedures: 1. Users register first to get an account to enter the Travel Journal application. The user needs to enter the desired name, date of birth, username, and password.    After shooting the first image, the user will make improvements to the location tagging to ensure that the area from where the application shows is according to the latest GPS. As well as filling in journal data such as names and some special notes that are operational. Users can also add photos by pressing the same button on the bottom right of the application. 7. The next page is optional, when the user has friends and wants to share the journal with his friends, the user can input the user based on his friend's name/username on the Add Friend page. So that the photo journal data will automatically be uploaded to the cloud, but if the user passes this process. then only data in the form of identity (text) will be sent to the cloud. 8. In the last step, after clicking the submit button, the user can review the journal that he saved through the main page and select his journal. Then a page will appear that displays the details of the stored memory data. On this detail page, users can also bookmark, rate, and share the location of the journal. The Travel journal application has various features and to ensure the functioning of the application features, it is necessary to test using methods such as Black Box Testing. The following are the test results from the application which can be seen in table 1. IV. CONCLUSIONS The Travel Journal application is an application that helps users in dealing with the problem of managing and organizing media files in a disorganized smartphone gallery and adding reminders for users regarding any related activities in a place in the past. Various features have been designed to help automatically collect data to support the user experience of the application, such as automatic location detection based on GPS and automatic notification when the application is connected to the internet when a place has been previously saved based on the distance that has been defined. Suggestions from the author for the development of this application in the future: 1. Added features such as searching for famous tourist destinations nearby so that users don't have to link and fix map markers when adding a journal. 2. System and data privacy residing in the Firebase cloud should be moved to certain private servers. 3. Improved appearance of the application and fixes errors and bugs. [