HIT(Hawaii Trails)

DevPost: Hanabata-Code
GitHub Repository: HIT Github Repo

Overview

HIT is a hiking trail application that allows users to view information about trails on their mobile phones. Point marks on the map indicate how congested the trail is. Users can also select a trail on the map to see detailed data such as when the trail is less likely to be busy. Users will also have the ability to manually check in to a trail and log the hike to their profile. Eventually, performing a check in will award the user points. Users will receive more points when they check in on a non-congested trail course. This will encourage users to visit trails which have not had any check-ins for the day. Users can donate using their own points.

Development

HIT contains two application. The server and admin app are written using the Meteor framework for web. The user app is written using React Native for smart phone, and it will be compatible with both iOS and Android devices.
The list of hikes was retrieved from the eHawaii.trails.gov API as a JSON file. This data was then stored in our server. Next, we found data for busy times for the hikes through two sources: Google Maps and BestTime.app. This data is collected using anonymized cell phone data.

My Contribution

At the start of the project, I added a trail course to the Meteor using the image upload feature, and I worked on the landing part.
It was my first time using React Native, but I learned the React hook and applied it to ui without data. I was in charge of the home screen of mobile, so that the functions of React Native appeared on the home screen.
In addition, I modified the json file on the trail that was not displayed on the map so that the contents of the trail added from Meteor could be applied to the mobile.

What I learned

This was my first project using React Native using Metor as a backend server, so I was able to gain a lot of technical experience through HACC(Hawaii Annual Code Challenge).
Our team had their own roles and everyone worked hard on their duties. However, there were many difficulties due to new learning skills. Our team’s leader tried to solve the difficulties of the team members. Thanks to his efforts, the team members were able to easily accept it without fear of learning new technical skills.
Above all, I learned that communication between team members is really important while working on the project. We had problems at the beginning of the project, but we were able to solve the difficulties through active communication.
Through this project, I was able to learn a lot technically skills and the importance of communication.

Team

Yong Kim
Yeji Han
Kai Hwang
Cheolhoon Choi
Keith Okuna