Inspiration
No matter how hard we may try, planning your day is difficult. We can lay out our goals, but cannot account for the randomness of the city.. or can we? We were fascinated with the technology presented by the CityIQ nodes, and their potential applications, but saw the API often being used for city employees/police. We wanted to help utilize these tools for the citizens, and create an app that can help everyone get their life together!
What it does
Our system is designed to be the ultimate personal planner. Planway makes use of CityIQ nodes, located around the area of the user to plan out a user's day, based on the previous days data. In addition, throughout the day, Planway continuously monitors road/traffic conditions for high traffic or accidents, and rearranges your schedule to avoid it. ie) If you were scheduled to buy groceries at 12pm, and Planway detects an accident, it will reschedule your grocery trip for the next least busy time.
Currently, Planway operates on the 2 nodes available in Hamilton (and multiple fake nodes). Our web application receives information from the CityIQ API, and uses that information to calculate the weight of the traffic conditions, and provide the best daily schedule for the user that reduces time wasted on the road.
How We built it
There were three main sub tasks in our build.
1) Backend Server: Written in Node+Express, the backend server is responsible for requesting data from the CityIQ API, to receive traffic conditions from available nodes, and analyze them for communication to the backend.
2) Frontend UI: Written with React+Semantic UI, designed to be easy to use, lightweight and easily accessible by anyone with a computer.
3) Google Maps API: Used to display the current and future travel routes to the user, so they're always prepared for where they need to go!
Challenges We ran into
We ran into two main challenges:
1) API configuration: The CityIQ API, although powerful, is not the most straight forward system to use. The use of this, in both the initial Postman setup, and execution with Javascript to have it run on the web, was a learning experience for the team.
2) Hamilton: The limited number of CityIQ nodes around Hamiliton also presented a bottleneck on our idea. We overcame this by adding stubbed test data alongside the two nodes, to assist in a more accurate proof of concept.
3) Google Maps API with React: It was our first time using this API, and took alot more setup and configuration than other node packages.
Accomplishments that I'm proud of
Although there is a lack of CityIQ nodes in Hamiliton, we were proud of the final result of the hack. We came this hackathon to solve a problem that we all face. Our solution provides a unique twist on the personal planner that proved to be effective in rearranging and maintaining productivity.
What I learned
We learned a lot about configuring and researching to setup APIs, and React.
What's next for Planway
A lot! In only 24 hours, it was a tight time crunch to get things finished. In the future we wish to base planning around more data that the CityIQ API has to offer, such as temperature (no one wants to spend time in the cold!), parking lot space (no more wasting time looking for a spot!), and more!
Built With
- cityiq
- css
- digitalocean
- express.js
- google-cloud
- html
- javascript
- nginx
- react
- semantic-ui
Log in or sign up for Devpost to join the conversation.