Inspiration

I was inspired after my mother brought up the issue just the other day, thinking about how good it would be for people to be aware of when and where these incidents occur.

What it does

The user sees a login and sign-up screen, where they can either put in their phone number and log in or sign up by adding their phone number and an area they want to be subscribed to. When logging in, any area codes the user is subscribed will also be noted, allowing the device to respond to notifications from those areas. After the user logs in, they will be greeted by a map that is centered on the U.S. There is a menu with five options:

  1. Subscribe, where the user types an area code they wish to subscribe to.

  2. Unsubscribe, where the user chooses from a list of their codes to see which one they want to unsubscribe from. Upon doing so, the user will not be notified of any shootings in that area.

  3. Refresh, which ensures the device can respond to areas they are subscribed to.

  4. Log out, which returns the user to the login screen and prevents their device from receiving notifications from the previous user's subscribed areas.

  5. Select, which asks the user to select a code from their list. Upon doing so, markers appear on the map and the map zooms in on the last marker on the list, which is presumably the most recent one.

When there is an active shooting that is being reported by a third party (for now, me), all users subscribed to that area will be sent a notification. Upon clicking the notification, the app will start and the map zooms in on the area code reported by the notification.

How I built it

I used Android Studio and Java so it could run on my phone. I had to do a lot of research to understand what features of Firebase I needed along with testing notifications. I also learned how to use the Cloud Firestore Database, Firebase Console, and Google Map API.

Challenges I ran into

I had some issues with the broadcaster part and realized I had to scrap that feature just so I could finish completing the receiving end.

Accomplishments that I'm proud of

This is the largest project I have done in effectively a single day, so I'm proud of that fact.

What I learned

I learned that I need to prioritize so that the bare minimum is done first, so I have a Minimum Viable Product ready to present. Also, I learned that orange is used to represent protests against gun violence, hence why it is the prominent color throughout the app.

What's next for Active Shooter Alert Platform [ASAP]

I'm going to work on creating the broadcasting the system as well as publishing this onto google plays and setting rules for my database. I'm also going to learn about how to work with serverless computing [Cloud Functions in Firebase], something I didn't know prior to this hackathon.

Built With

Share this project:

Updates