Day after day, it seems the reports of criminal activity and dangerous areas are growing and growing in number. As college students, we often get alerts via email, warning us about such activities. The utility of these emails is questionable - these emails may come at strange times or get lost in the flood of incoming emails, not being seen or being seen far too late to be useful. Given how dispersed these sources of safety notifications are, our team endeavored to create a simple, universal web app to aggregate such notifications and allow for easy access that could help individuals avoid danger and hopefully save lives.
What it does
Our app essentially displays a map to users, allowing users who are signed in to add safety alerts by simply inputting a location and having it appear dynamically on all users' maps when they use the app.
How we built it
For the front-end, we utilized Vue.js along with Bootstrap, along with the Firebase Authentication and Google Maps APIs. We used Firebase Authentication to ensure that users would not be able to post unnecessary alerts without signing in (to avoid fake alerts), and we used the Google Maps API to dynamically display and update alerts for all users to view.
Challenges we ran into
This was our first time coding in Vue.js and integrating the Google Maps API led us to some strange bugs that we could not resolve with the help of StackOverflow. We overcame this issue by adapting our code based on the input of other sources and individuals, in addition to a lot of debugging and hard work.
Accomplishments that we're proud of
This was the first time we created a full-stack web app and we were very proud that we were able to come up with an original product and completely integrate the APIs in a short span of time.
What we learned
We learned firsthand the importance of collaboration and dividing tasks according to specialties, seeing how much more could be accomplished when we worked efficiently as a team rather than a group of individuals.
What's next for SafetySiren
We plan to implement many additional features; some of these features include:
- Descriptions of alerts that can be accessed by clicking on a marker on the map
- Notifications that can be sent via text/call/email and can be configured to be sent when within a certain radius
- Increasing the size of markers on the map based on the frequency of alerts in the location