Project: TrackPad

TrackPad is a desktop application for planning trips and tracking tourist attractions. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 20 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the ability to create and delete itineraries.
    • What it does: Allows users to create itineraries to plan their trips.
    • Justification: This feature improves the product significantly by evolving it from a tracker for tourist attractions into a functional travel planner. With it, users can do more than adding attractions and can now plan trips.
    • Highlights: This enhancement affects existing commands and commands to be added in the future, so many commands had to be changed. Additionally, the implementation was challenging as it required modifying existing code and coming up with new code that do not exactly follow what we already had. An in-depth analysis of the various design alternatives that must still conform to the existing implementations was required. Furthermore, after implementation many other new components of the app had to rely on this component, and it was difficult to ensure that everything can be intergrated seamlessly and thus, many changes and further refinements had to be made.
  • Code contributed: RepoSense link

  • Project management:
    • Helped maintained issue trackers.
    • Helped review and approve PRs.
  • Enhancements to existing features:
    • Added the location field to attractions #75
    • Wrote additional storage classes to convert the various components in model to and from the json format #98
    • Wrote additional tests for features to increase coverage #198, #189
  • Documentation:
  • Community:
    • Reported bugs and suggestions for other teams during the PE dry run (examples: 1, 2, 3)