Inspiration
Violence is running rampant in Canada, & even more so in many other places in the world. To address this insecurity, we devised the solution SafeWay, which guides us home safely.
What it does
SafeWays is a webapp that allows you to browse your surroundings and also determines the safest and closest possible route you can take. This allows for easy and peaceful navigation even in unfamiliar places.
How we built it
We used a front end stack of React with vanilla CSS that made api calls to the Google Maps API for the mapview & search function. There are two servers, one of which is a flask server that uses selenium to scrape the Ottawa Crime Map for data, & an express server that uses axios to query said server as well as Google Maps API & GeoNames to compile the raw data into useful data for the web application.
Challenges we ran into
The Ottawa Crime Map had a lot of bloat, so it was hard to navigate in order to find out how to acquire the data we need. There was also discrepancy between location data, names in particular, between the Ottawa Crime Map's & Google Maps. Devising our own Map API was also a thrill.
Accomplishments that we're proud of
Devising the web scraper to get data from the Ottawa Crime Map, which had so much bloat network IMO. Meshing together different Map APIs to create something new, example being getting all potential roads between two points. Last but not least, creating our mapview that we can call ours.
What we learned
We learned how to scrape data from the monstrous government site, how to work with maps & their respective APIs, as well as struggle with CORS. We also learned that there is a lot of crime & we should try to stay safe out there.
What's next for SafeWays
As availability of crime data varies in format across municipalities, we wish to devise a standard protocol to centralize these data, & whilst doing so improve its feature by having more frequent & detailed updates that are based on individual events, as these seem to be updated within set intervals. With that, we would also be able to implement Solace. Another step would be to implement a feature that actually highlights redzones or something of the like to sort of show the severity of crimes in areas.
Log in or sign up for Devpost to join the conversation.