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 delete contact by specifying name.
    • What it does: allows the user to delete a contact without referring to the index in the contact list.
    • Justification: This feature improves the product significantly because a user can delete a contact quickly as long as he/she remembers the name, without referring to the index of the contact list (which is slow). Thus, in the long run, this feature saves them large amount of time.
    • Highlights: This enhancement affects existing delete command. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing delete command.
  • New Feature: Added a countdown command that helps the user calculating the number of days left until his/her wedding.
    • What it does: shows the user the countdown to his/her wedding.
    • Justification: This feature is helpful in tracking if their wedding planning progress matches with their expectation, so they can rectify their plan periodically.
  • New Feature: Added a cost-sum-checking command that helps the user calculating the total cost of his wedding (or a particular item/category).
    • What it does: shows the user the total expenses of his/her wedding (or the cost of people he/she hiring for the wedding).
    • Justification: This feature is helpful in tracking if the expenses is exceeding the couple’s ability, so they can eliminate unnecessary expenses, thus saving money.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.2.1 - v1.3 (2 releases) on GitHub
  • Enhancements to existing features:
    • Wrote additional tests for features implemented to increase coverage by 4.16% (Pull requests #187, #188, #189)
  • Documentation:
    • User Guide:
      • Updated major contents of the documentation, including updating the table of contents, product overview, features implemented(screenshots and descriptions), command summary. (Pull requests #88, #94, #100)
      • Did cosmetic tweaks to existing documentation by adding cover page, about the user guide, glossary, rearranging features in chronological use (Pull request #94)
    • Developer Guide:
      • Updated the design details/diagrams of the Logic, Model, and Parser component. (Pull request #186)
      • Added implementation details of the delete-by-name, countdown-to-the-wedding, and cost-sum-checking features. Several UML diagrams were added such as object diagrams, sequence diagrams and activity diagrams. (Pull request #186)
  • Contributions to team-based tasks:
    • Setting up the GitHub team organization and repo
    • Setting up Gradle
    • Release management
    • Setting up milestone
    • Updating user and developer docs that are not specific to a feature i.e. documenting the product overview, about the user guide, and glossary
    • Setting up the project website
    • Incorporating more useful tool into the project workflow, i.e. Codecov
  • Community:
  • Tools:
    • Integrated a new Github plugin (CircleCI) to the team repo