Inspiration
Do you ever watch the news and hear about tragic stories of people becoming victims of crime simply because of being at the wrong place at the wrong time? These kinds of situations can be avoided if people know to stay away from certain parts of town beforehand.
What it does
Guard is based off the principle of community, where all citizens have an important role in keeping their communities safe. Have you spotted a crime near you or don't feel safe in a certain part of town? Let other users know to avoid the area by reporting it! Your report is added onto a map that pinpoints "hot areas." These hot areas will then alert others and appear on their map. Traveling to a new destination? Check the Guard app to be in the know about recent crimes and monthly trends for the location you are planning to visit. Not only is Guard helpful for everyday citizens, but it can also be used by the local police forces to crack down on crime and respond to a scene quickly.
How we built it
Guard is an iOS app that uses Google's Firebase Cloud Platform for its backend. The database has coordinates, timestamps, and types of crimes stored in it and can perform an analysis to see if certain coordinates pop up frequently. The database can also perform analysis on what types of crimes usually occur at given coordinates and also in relation to the time. All of this information is then displayed on the front end of the application. The front end was created using Apple's Swift 4. Using its UI and MapKit features, the first view controller displays a map where the user can input a city and be zoomed within town limits. Data is then retrieved from the database for this particular city, and displayed on the map. On the second view controller, Guard has a simple user interface where people can report the location, time, and type of crime that they have witnessed. This information is then updated back into the database. We also built a web app that allows the user to enter in the location. The app then gets the coordinates of the area and sends it to another app where the pin of the coordinates are displayed on a map, with a description tag above it.
Challenges we ran into
We have never made an iOS or Web app before. Furthermore, we have never used any database or the Swift language. We had to look at documentation and lots of Youtube videos to help complete the project. Even after all the intense research and experimentation, we still had problems connecting the database to the iOS app.
Accomplishments that we're proud of
We are proud for the work we did, for all the skills we learned, and for almost completing a working app from scratch... with very little prior knowledge. Almost everything for the project was new, freshly acquired knowledge from the past 36 hrs.
What we learned
We learned a lot! We got crash course on how Swift and Xcode works. Furthermore, we learned how to use a database... a skill that can come in very handy as we progress in our Computer Science careers. Also, we learned that making an app is a very challenging but a rewarding experience.
What's next for Guard
In the near future, we want to complete the app and make it fully functional. As time progresses, we would like to implement a way to predict potential "hotspots" for crimes based off of past user data. We would also like to make a separate user interface for police officers that would allow them to be notified instantly if there is a large amount of reports coming from a certain town. Furthermore, officers can release instant notifications to the public about important advisements and immediate warnings.
Built With
- firebase
- gcp
- html
- javascript
- swift-4
- xcode
Log in or sign up for Devpost to join the conversation.