Inspiration

When it comes to natural disasters, people don't know what to do to get to safety and most local government of areas at risk of these disasters have plan and instructions to get to safety. However, most people are unaware of the local government's recommended routes and procedures in the event of an emergency.

What it does

So we created this app to that can take help to notify users in the immediate area of a natural disaster and send users to Google Maps with a KML overlay of the area's recommended routes to the assembly areas so that they can be alert and get to safety. As a proof of concept, we implemented the with a data set for the recommended assembly areas for Los Angeles in the event of Tsunami.

How we built it

Using Google map's SKD for android app displayed the map and the user's current location after it is given permission by the user. We found KML file of different evacuation routes/zones for different cities and for different types of natural disasters. We found all the data at [link][https://catalog.data.gov/dataset]. KML file layers over google map and sets markers and highlight routes indicated by the file. For our app, we only layered one file over the city of Los Angeles but in the full app, it would have an evacuation procedure for all major cities and different types of natural disasters. We also implemented Google cloud's Firebase messaging service to push notifications to the user in order to alert the user to the app. Currently, the messages can only be sent manually through the Firebase messaging console. In the future, the app would send a notification based on the government's alerts of natural disasters.

Challenges we ran into

Our entire team is unfamiliar with the Android API, this lead to a great deal of confusion as it wasn't as intuitive as using HTML, CSS and Javascript as the APIs are very similar and also because of the rapid development of the API, many of the functionalities within the API we tried to implement when deprecated past the point of being usable. Most of our troubles came from just developing the front end, finding a dataset and overlaying it with Google Map's API was the easy part. The hardest part was getting push notifications to enable. Finally, most of the baseline features that would help our app be distinguished from other services, being able to connect the user with the nearest recommended route, and saving personal data for the user for easier access to information had to be left out.

Accomplishments that we're proud of

With the great difficulty using an API/Framework, the team was unfamiliar with, we are glad we were able to make a product, that met most of our requirements and we are proud that through perseverance we were able to enable a prototype of those features. Also, we worked quickly to learn a whole new toolset and now know Android Development. With some polishing and implementing the other features we wanted to implement, we believe that this product can keep people in high-risk areas of natural disasters such as tsunamis, hurricanes, floods, and lahars.

What we learned

-Android Development -Firebase -Have some basic knowledge of the environment we are working in (Android Studio/API). -Rapid Development Cycle

What's next for HackathonApp

-Push notifications are enabled by government alert instead of Firebase. -A database with all the datasets from local governments at risks with routes and assembly areas for each type of disaster in that area. -Be able to connect the user to the nearest recommended route to the nearest assembly area. (What's hard about this is any data that can be found won't always be found in KML, some use layers and other formats) -Basic safety guidelines -Storing user addresses and evacuation plans to help devices assist in times of network failure.

-Livestream of the radio -Be able to track users that check the notification that is at risk of disaster, so we governments can have data of who saw the notification, so they can make guesses at who was able to evacuate and who may have not.

Built With

Share this project:

Updates