I haven’t written a blog post in a long time! Shame on me…
I’ve been pretty busy lately. Classes at the UofM have started back up and I’ve been working my day job as well as doing some neat projects at the same time. One of my projects is under wraps, and another is unannounced…but one of them is public and I’d like to tell you more about it!
Back in…oh gosh…November, I wrote about Project Zeus, an awesome opportunity I am lucky to be a part of. Project Zeus is our entry in the University of Minnesota’s Mobile App Challenge, in which five teams are competing to create the best mobile app over a period of a few short months. Our team has entered the race and made it to the top five on a simple idea: the Metro Transit mobile website, that serves much of the Twin Cities bus ridership, is severely lacking. We believe we have the tools and data available to make it awesome.
Well, we’ve been working on this awesomeness pretty steadily now, and myself and Trevor have made strides on the backend side of things. For those interested, we’re using Python to write our backend. We’re utilizing PostgreSQL for the database side of things, and web.py to handle our RESTful API. This differs from our original plan, which involved a PHP framework. Our data sources are primarily from two places (for now): the General Transit Feed Specification (GTFS; a spec by Google) package provided by Metro Transit, as well as the new Metro Transit API.
The GTFS data, available here for any enterprising individuals yearning to wade through (literally) millions of lines of data, was the key to enabling us to correctly track buses, locate stops, and all the other things we’re handling with our app and its corresponding API. A few hints to those using it: set your database keys to UNIQUE where the GTFS spec allows it. There are thousands and thousands of duplicate records present. Additionally, the data is arranged in text files, but they echo (to a certain point) a relational database, so try and conform your database’s relations to the ones present in the files, and you’ll be a much happier camper. Lastly, the shape files describe the route paths, and they are easily mapped with the Google Maps API, so don’t give up on them. And a note to anyone using the Metro Transit API: best of luck. There is only one endpoint and it’s your only way to get realtime data even close to effectively.
While Trevor and I have been hard at work on getting data readily available through our API, Andrea McNett has been working on our interface! She’s created much of the theme and layout for our app, a small preview of which is below. Kevin Roberts, our other developer, has started adapting the screen mockups to a real, working Android app.
We’re really excited with the progress so far, but there’s lots to do yet, both on the front and back end of things. I’ll keep you updated here, but you can also check out Andrea McNett’s blog for updates. Additionally, we’re on Twitter, so do give us a follow: @bendemaree, @andreamcnett, and @trevorriles.
Thanks for reading!
