Inspiration
University life can be hectic. With students rushing from class to class, hallways become overcrowded and foot traffic slows to a grind. Rush hour can turn a 5 minute walk into a 15 minute walk, a frustrating prospect for busy students. Inspired by Google Maps routing, we wanted to know what areas of the campus were busy to optimize foot traffic routing. By knowing which areas of the university are crowded, students may re route to avoid missing that mandatory lab or midterm.
What it does
Dinos (University of Calgary students, staff, personnel) can view traffic on campus and report high-traffic areas. This way users can plan their commute between buildings and know the best time for visiting high density areas such as MacHall or the Fitness Centre for minimal wait times. Users can access the website at link and see on the map where high traffic has been reported. Submissions for high traffic can be made by clicking the submission button and selecting an area on the map, this will update the heat map and as more submissions are made the heat map changes colour to match.
How we built it
The server was built on a React application which is hosted on Google's Firebase and uses a Cloud Firestore database to hold location data and timestamps.
Challenges we ran into
The team was new to the Google Maps API, so we had to learn how to use it and then get the API to work with React. In order to understand how to use the API quickly we followed multiple tutorials/examples but this proved to be detrimental as the examples would poorly implement the API with React for our purposes or be limited in functionality once we wanted to add new features or integrate it to our existing code. The most success was found from reading the API documentation provided by Google once the project base was implemented.
Integrating Google's Firebase to store the client data also proved challenging as we had to learn how to setup the database and then get it to work with our React application.
Accomplishments that we're proud of
Having a working project, staying on task and on time, accomplishing our initial goals for Dino-Watch and having time to include extra functionality.
What we learned
The importance of following API documentation rather than examples/tutorials on the API in order to easily add extra functionality beyond the tutorial's scope.
What's next for Dino-Watch
Some ways to expand on Dino-Watch would be to:
- develop mobile apps
- allow for user's geolocation to be automatically populated using user device GPS
- allowing for movable markers when inputting client location
- allow for route planning based on the heat
Housekeeping
Team: Koist and the Woist Git: link
Log in or sign up for Devpost to join the conversation.