Project: Wanderlust

WanderLust is a desktop travel-planning application that allows users to plan their trips in a structured and efficient manner. It is optimised for CLI-proficient users, and comes with a GUI created with JavaFX. It is written in Java, and has approximately 16 kLOC.

Summary of Contributions

Code contributed: RepoSense

Major Enhancements:

  • Implemented UI (#81, #113, #193, #286)
    • What it does: The UI is the main interface that interacts with the user. It listens to user interaction, executes user commands using the Logic component and observes changes to data in Model, updating accordingly.
    • Highlights:
      • This enhancement requires in-depth knowledge of the entire architecture, especially the Logic and Model components.
      • Multiple rounds of experimentation and code refactoring to find the ideal way to display the 3 types of TravelPlanObjects since JavaFX ListView does not take in wildcard types. Ultimately, tab panes were used.
      • Implemented the overall layout of the UI and updated its styling to BlueTheme.
      • Implemented auto-tabbing feature, where application automatically changes to the correct tab when specific commands are called.
  • Implemented Directory and ObservableDirectory (#86, #110)
    • What it does: Directory provides an abstraction for TravelPlan and Wishlist and facilitates the implementation of the navigation feature. ObservableDirectory represents the current directory, and is observed by the UI for updates.
  • Add TravelPlan and Wishlist Packages in model (#59)
    • What it does: Each TravelPlan has its own name, start date and end date, and wraps its own list of activities, accommodations and friends. The wishlist wraps a list of pinned activities for future travels.

Minor Enhancements:

  • Implemented WanderlustDate in model (#59, #78, #79)
  • Updated Help Feature to include link to Wanderlust User Guide.
  • Implemented Clear Feature (#277)
  • Added SampleWanderlustDataUtil in Model (#81)

Contributions to User Guide:

  • Added documentations for show feature (#18), move feature (#186), clear feature (#277), and goto feature (explaining about directories in Wanderlust, written in a shared document before UG was transferred to UserGuide.md)
  • Added Table of Contents (#18) and Ui.png (#53, #291)

Contributions to Developer Guide:

  • Added documentations for the copy and move feature, including CopyActivityDiagram and CopySequenceDiagram. (#144, #150)
  • Added use case to clear Wanderlust. (#277)

Testing, Bug Fixing & Defensive Programming:

Project management:

  • Schedule and attend weekly meetings.
  • Lead and contribute to discussions during weekly meetings.
  • Maintain issue tracker and milestone.

Contributions to team-based tasks:

  • Helped teammates with debugging and understanding codebase.
  • Linked Up Ui with Logic, Model and MainApp. (#88)

Community: