Project: WedFast

WedFast is a desktop address book application used for managing contacts of your dream wedding. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the ability to find by tags and price range.
    • What it does: Allows the user to find contacts by their tags and their prices.
    • Justification: This features improves the product by allowing the user to enhance their query and find what they are looking for with more accuracy.
    • Highlights: This enhancement affects existing find command. It required an in-depth analysis of design alternatives and the implementation was expanded upon greatly. Text analysis of the price operators were fairly challenging to implement.
  • New Feature: Added a shortcut command feature
    • What it does: Calls a shortcut command linked to a keyword.
    • Justification: The shortcut feature and its accompanying commands serves to increase the productivity of the user. By saving long commands that are reusable (eg. a specific find query) to a fast and short command, the user is able to customize their commands and save time.
    • Highlights: This new feature required a whole additional module to the app in order to store shortcuts in a JSON format. The implementation is similar to the original storing of the address book, but a new data structure and accompanying features had to be coded to allow the user to ensure that their shortcuts did not go away.
  • New Feature: Added the add shortcut command feature
    • What it does: Allows the user to add a shortcut to their list of shortcuts.
    • Justification: This is an accompanying feature for the shortcut feature.
  • New Feature: Added the remove shortcut command feature
    • What it does: Allows the user to remove a shortcut from their list of shortcuts.
    • Justification: This is an accompanying feature for the shortcut feature.
  • New Feature: Added the list shortcut command feature
    • What it does: Allows the user to view their list of shortcuts.
    • Justification: This is an accompanying feature for the shortcut feature.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.2.1 - v1.3 (2 releases) on GitHub
  • Enhancements to existing features:
    • Bug fixes for GUI #99
    • Wrote additional tests for features implemented to increase coverage by 6.85% #185
  • Documentation:
    • User Guide:
      • Added documentation for the features find, sc, addsc, removesc, listsc (Pull request #99)
    • Developer Guide:
      • Updated the design details/diagrams of the Storage component (Pull request #197)
      • Added implementation details of the find and shortcut features. Several UML diagrams were added such as object diagrams, sequence diagrams and activity diagrams. (Pull request #197)
  • Contributions to team-based tasks:
    • Contributed to AboutUs and other shared documentation
    • Creating issues and designing product features
  • Community:
    • PRs reviewed (with non-trivial review comments): #65, #66, #72, #75, #89
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,