Vancouver Bus Route Finder

From UBC Wiki

By: Hanae Nakajima & Seongchan Lee

What is the problem?

We will write a program to find a route for the user to take, where the user will be prompted to input the starting point and the destination when the program begins. The program will return the duration of the trip, the departure time, the arrival time, and the steps for routes. All scheduled transits along the steps will be in real time. Once the search is over, the user will be asked if they would like to do another search or exit the program.

This program is useful because it is possible to find a route between any two locations on earth, even across borders. Additionally, since the transit information is given in real time, the user can get relevant information in that moment on the spot with this program.

What is the something extra?

We will be integrating Google's Directions API, fetch relevant information in JSON, and parse it as a user-friendly output.

What did we learn from doing this?

We learned the entire process of building a usable program in a functional programming language through this project. Trying to implement the IO operations of Haskell was difficult, but inevitable seeing as we would need to take user input to know the origin and destination. Furthermore, the JSON parsing & getting the output we were looking for was a big challenge. Another challenge was the setup, with installing appropriate packages to make the ghc compile. There was a lot of playing around and research done through Google / Stack Overflow to find appropriate cabal packages.

Links to code etc

Repository found here: https://github.com/seongchanlee/vancouver-bus-route-finder