Inspiration

A recent Federal Emergency Management Agency (FEMA) survey found that nearly 60 percent of American adults have not practiced what to do in a disaster by participating in a disaster drill or preparedness exercise at work, school, or home in the past year. Further, only 39 percent of respondents have developed an emergency plan and discussed it with their household. This is despite the fact that 80 percent of Americans live in counties that have been hit with a weather-related disaster since 2007, as reported by the Washington Post. Additionally, 48% of Americans report having seen at least some news they thought was made up about the recent coronavirus virus. With dangerously large amounts of false information regarding how to prepare for the coronavirus (52%) in the general public, with nearly** 61% of _ Americans having not prepared a emergency plan in case of a widespread emergency in their local area and **no basic technologies present to sufficiently provide information to local authorities to provide help to one another, I felt the need to develop this app in order to build a tool for both, the average household and authorities , in order for local authorities to better plan, better make decisions and provide knowledgable information in order to save lives. _ Additionally, I have been personally affected by a similar situation, providing me better insight regarding the experience.

What it does

I have created a hybrid mobile application which has three different primary pages and intentions. On the home page, there are three different feeds that incorporate the main intentions of alerting the user end of Reliable information from reliable sources based on the subject criteria. These three information feeds include the recent COVID-19 pandemic, an information feed from the government /city and the National Weather Service/other informations in relation to extreme weather. **For the second page, the user must enable location features In order to have full access to the app. **The app utilizes the current location of the user and uploads to my Backend in real time, which is viewable to the local authorities with authentication to the backend. This can be used in many instances such as a fire, to see whether any people are inside the fire, other natural disasters, to help rescue people based on these given locations, and also to alert other surrounding you for help. Your location on the map will show up to people around you (in a certain radius). On the second page, there is a search option where the user can input a location and find the Est. amount of people at that location(using a self-created algorithm), the risk level (in terms of COVID), the amount of people who are in "help status" near that location and the amount of COVID cases **in your state. **These features are very helpful during the current pandemic as essentials need to be visited. This will help uses find the time which has the least people present and the least cases recorded. On the third page, there are verified resources to help inform you what to do when various kinds of emergencies occur and how to prepare for them in advance. Overall, these functions will help inform the user of the correct information of what to do, how to be prepared, stay informed with reliable information in these categories, help avoid contact and contraction of the novel coronavirus and help stay safe in natural disasters/other similar emergencies by being able to send data to users nearby for help and local authorities.

How I built it

I built this app using the hybrid application development platform called React Native. I used expo for faster testing and a better and managed workflow. I wrote this entire app in Javascript. Now to the construction of the main features of the app. For the Information feeds, I used a News API with several endpoints to gather information in relation to its respective topic by reliable sources. For the search page, I used react-native-maps in order to gather the accurate location (long, lat, geolocation) of the user and create the maps UI. Additionally, I used Google Firebase as my backend in order to store this data in a database where it would be accessible to the local authorities in real time. For the East people at a location and risk level , I used an algorithm I created using multiple data points such as the population of the residing city, the amount of users recorded in the database and density of the city. For the last page, I used individual reliable sources to provide Preparation resources to be ready for and prepared for emergency situations.

Challenges I ran into

Overall, there were many challenges I faced over the course of this entire project. One of the earlier issues I had was in relation to the tracking of geolocation and using that data, uploading it to the backend and then redisplaying it onto the map. Although this may have not been visible during the demonstration, I wanted to ensure full functionality. The reason some of the data was not showing was due to my incorrect way of passing the props and setting state and overall scope of the project, which I eventually resolved. One of the other Issues I had was in relation to the News API feed which had multiple failed requests and was not pulling through. The issue, I eventually figured out, was due to the incorrect formatting and mapping of data, which did not load the data properly. Additionally, I wasn't assigning keys properly.

Accomplishments that I'm proud of

Some of the accomplishments I am proud of is creating the algorithm to calculate risk level based on several data points such s population in the residing city, he amount of users recording in the database in that city and the density of the residing city. I was also proud of creating an interface that was able to use locations and map this data to a backend. I am also proud of implementing my first multi-endpoint api in a react native app.

What I learned

I learned a lot of new things during this entire project. I learned how to implement react-native-maps, how to implement some basic functionality's such as webview and deep linking, allowing me to access certain websites for resources in my prep resources tab and overall how to troubleshoot in low time constraints. Overall, this time constraint helped me work more efficiently and prioritize.

What's next for In Case of an Emergency

In the future, I hope to host this algorithm on an API endpoint rather than on the app itself. Additionally, I would like to my own api endpoint for the resources since I am using a website webview at the moment. I also would like to create more features in my backend such as alerting the app that you will be going somewhere to adjust the algorithm accordingly and have a lot more user input. I look forward to that in the future and hope this can help the overall community in such times.

Built With

Share this project:

Updates

posted an update

Hello everyone, I realized I may have submitted the incorrect project code to competitions. Please check out the GitHub for the proper code. I realized I attached a start-up code for an empty app instead. I apologize regarding this.

Log in or sign up for Devpost to join the conversation.