GTFS


GTFS stands for General Transit Feed Specifications, a software for the public transportation services to manage the status of stops, routes, and trips.


Mobirise

The user will be able to view the information of a stop, route and trip it is on. The user will also be displayed a marker represents a stop that is searched for with a unique stop number.

Summary

  • Context
  • GTFS is a team project developed during the Fall quarter of 2020, in the Software Tools and Practices course. The software was implemented with Java/JavaFX programming language to support the essential functionalities with the software Observer pattern, with the addition of an API called MapQuest to display the graphical map with markers to represent the stops on a route.

  • Role
  • My role were parsing and storing the information of trips into an appropriate data structure. Regarding to the graphical user interface, I designed and programmed a pop-up window to allow the user to update the attributes for stop, route, or trip. As an optional feature, I applied the MapQuest API to display the map and markers when the users search for the route or a stop.

  • Delivery
  • Our team delivered all essential features, reading and storing information from text files, searching and retrieving information of a route or a stop. We were also able to deliver an optional feature, which is to display a graphical map with markers of stops on a route, using MapQuest API

    Technologies/Pattern

    Java/JavaFX

    Used to implement the Observer Pattern to handle events and changes on the display.

    MapQuest API

    Displays the graphical map interface and markers represent stops on a route.

    Observer Pattern

    Implemented to get objects notified about changes and events on the display or other objects.

    Analysis

  • Strengths
  • I evaluate that I did well on willing to take heavy weight tasks. I also did well on innovating the project by maintaining and improving it as I replaced our previous Google Map API with MapQuest API for efficiency. Beside technical tasks, me and other teammates were working very well together. We all did well on dividing tasks, and helping each other with each task by communicating even though the course was executed online. 

  • Skills Reflection
  • By working on this project, I was able to gain my knowledge on the software cycle process and also skills on choosing appropriate data structure and API for efficiency. I was also given an opportunity to learn and apply the Observer pattern, which enlarges my knowledge on Software Pattern and Architecture. Besides gaining new skills and knowledge, I also improved my old skills of communicating with teammates, knowledge of programming and problem solving, especially with Java/JavaFX. 

  • Project Reflection
  • What went well while working on this project was the experience working with others, not only from teammates, but also from other groups. By learning from others, I was able to gain more knowledge on ways to implement, ways to solve problems with different data structures, patterns, technologies. From the experience I had while working on this project, I would improve the skills of team working and communication for future projects, as it helps me to be familiar with the professional working environment, connect with more people to learn from them.

    Mobirise

    The user will be able to search for a route with a unique route number, and will be displayed markers represent stops on that route. The list view will display all stops that are on the route that the user searched for.