Desmond To's Project Portfolio Page
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 existingdelete
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
- Managed releases
- Enhancements to existing features:
- 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
, rearrangingfeatures
in chronological use (Pull request #94)
- Updated major contents of the documentation, including updating the
- Developer Guide:
- Updated the design details/diagrams of the
Logic
,Model
, andParser
component. (Pull request #186) - Added implementation details of the
delete-by-name
,countdown-to-the-wedding
, andcost-sum-checking
features. Several UML diagrams were added such as object diagrams, sequence diagrams and activity diagrams. (Pull request #186)
- Updated the design details/diagrams of the
- User Guide:
- 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