Course:CPSC312-2017-Bus-Timer

From UBC Wiki
Revision as of 14:22, 24 October 2017 by BijanKarrobi (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Bus Timer

Authors: Arash Haj, Bijan Karrobi, Dashaylan Naidoo

What is the problem?

As for many students and residents of Vancouver, public transportation is critical in how we commute to work, school, or places around Vancouver not quickly accessible via walking. There is a lack, despite the high volume of commuters, of an application that helps give reliable and easy to read timings for buses near a person. We want to alleviate the stress of wondering which bus a person should take by giving them the list of buses they could take depending on their location and what time they want to depart or arrive.

What is the something extra?

What is the in-depth aspect you will do? If the problem is related to some other group's project, tell us how they fit together. If in doubt, include the information.

(Similar to the BusStopFinder project proposed by another group, we will be utilizing Translink's API to fetch relevant bus route information in real time. Our interface will allow a user to locate buses based on proximity to stops and arrival/departure time. Any of these query parameters will be adjustable by the user to allow for a stress free transit experience.) - before realizing the amount of time and work needed to make this happen.

After realizing the amount of time that the above extra part would take and looking at the feasibility of it, we decided to change our "something extra" to be a function that would let the user know what time to leave depending on what time they want to arrive and what is the final destination of their bus. Furthermore, our functions (when needed) allows for the user to give the current time (or a time of their choice) to see when to leave or when a bus is leaving from UBC.

What did we learn from doing this?

(This should be written after you have done the work.) What is the bottom-line? Is logic programming suitable for (part-of) the task? Make sure you include the evidence for your claims.

Based off how much we were able to do within the time frame of this project, we have found that it is feasibly possible to make an entire bus route planner with logic programming given that all bus times are static and there is no live updates of delays or route changes. Otherwise, it is not suitable as there's no real way of getting real time updates of bus times, but just the planned times and routes given by translink. Additionally, it would be possible to allow other similar questions to be asked, but not to the extent that Google is capable of. For our program, with the limited time, we have special queries which can be asked out any bus throughout all the end routes at UBC, but we did not have enough time to fully do every single bus stop within Vancouver. However, with that being said, we are proud of what we accomplished as we are able to give information about the next departing bus for all buses at the UBC exchange bays, all the stops for all the buses that leave from UBC, all UBC buses that depart from specific stops, and the best time to leave depending on the time the user wants to arrive and the destination.

Bus Timer Code

File:Bus Timer.txt