My friend Kate recently ran a Gasparilla Distance Classic 15K. As she was training for it, she would run incrementally longer and longer distances. She, like may runners and bikers, ended up with a stale path. That's where comes in. We provide the solution to runners and bikers for easy path generation, so that they can explore their communities and cities.

What it does

We automatically generate a random running path based on your location and the distance that you would like to run that way your running and biking path never becomes stale.

How we built it

We built it using the Google Cloud Platform computing to run a Java back-end that utilized the Google Maps and Directions APIs and an HTML and JavaScript front-end. We registered the domain and used the Google Cloud Platform to host our site.

Challenges we ran into

It was our first experience using the Google APIs, or any external APIS for that matter. We had to do a lot of research to identify which of Google's APIs and services we would need. Once we identified our resources we had to figure out how to use the Google Maps and Directions APIs. Our inexperience with JavaScript and HTML compounded this issue as we learned how to interpret JSON files. We had difficulty creating the connection between Java and HTML especially for user input and output. We overcame these challenges with a whole lot of research and trial and error.

Developing the algorithm to random generate paths using coordinates was a daunting task. We had to create a circuitous route of a certain distance and calculate the coordinates of waypoints that would make up that path.

Accomplishments that we're proud of

The algorithm works We learned how to use the Google Maps and DirectionsAPIs and how to use them to create your own website. We solved the majority of problems like the Java backend to interpret JSON files, the algorithm to create random waypoints to create a path of a certain distance.

What we learned

We learned the importance of planning out our class structure and functionalities before we start programming. If we had more thoroughly planned and researched our idea, we could have avoided a lot of the issues that we encountered. It was a challening task to use the Google APIs with zero experience, but we grew to understand how to use the Google Cloud Platform and the Google APIs.

What's next for PathOverflow

We wish we could have implemented on the run directions and a mobile client for the app. In future updates, we hope to extend our WebApp to the mobile market. We planned some extensions to PathOverflow if we had time like connecting PathOverflow to social media like Facebook and Instagram, so that users could share theirs paths and running times and compete with their friends.

Many people that run follow a pattern of sprinting, jogging, and walking based on some time interval. We wanted to create Spotify playlists that would switch automatically between fast and slow songs automatically on a user set interval.

Share this project: