Project: Waddle

Waddle is a simple, no-frills travel planning application catered to people who love doing everything on their keyboards.

Given below are my contributions to the project.

  • New Feature: Add an edit item command. #49
    • What it does: This command allows users to edit an item in their unscheduled item list.
    • Justification: This feature improves the product significantly as users can easily edit minor details in the items in their item list without having to delete and re-add the entire item.
    • Highlights: Writing the EditItemDescriptor class allowed me to learn how to use a defensive copy to prevent the user from making any unwanted changes to the original copy of the item.
  • New Feature: Add a multi index class. #76
    • What it does: Allows for access of items inside the day list, using a more complex version of an Index.
    • Justification: There is a need for a different indexing of items that are in the day list compared to the unscheduled item list. This is to allow users to easily access items in both lists from the same item-planning page.
    • Highlights: It was challenging coming up with a way to represent the different indexing that would satisfy our needs.
  • New Feature: Add a plan and unplan command. #85, #87
    • What it does: Allows for scheduling and unscheduling of items in the wishlist, to a specific day and time.
    • Justification: As a travel planning application, users will need to schedule their activities in order to create a cohesive itinerary using our app.
    • Highlights: There was plenty of collaboration and discussion with team members on where to handle each aspect of the plan and unplan commands, such as shifting the inner workings to the Itinerary and Day classes.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases Waddle v1.4.1 and 1.4.2 (2 releases) on GitHub
  • Enhancements to existing features:
    • Add a Priority field to Item class. #61
    • Fix bugs and close issues. #100, #200, #201, #202
    • Write test cases, focussing mainly on Command and Parser classes. #53, #228, #230, #241
  • Documentation:
    • User Guide:
      • Updated user guide with the newly-added commands like plan, unplan, free, and more. #117
      • Updated Ui snapshot of the application. #120
    • Developer Guide:
      • Added multiple use cases to the developer guide. #51
      • Added new proposal to unplan items. #67
  • Team-based tasks:
    • Conducted testing of app and opened issues. #101, #102
    • Made necessary changes and renaming of classes to be more suitable with our application. #53, #85, #248
  • Community:
    • Assisted other teams in detection and reporting of bugs during the PE dry run.