Chee Hong's Project Portfolio Page
Project: uMessage
uMessage is a desktop app that helps university students manage contacts, academics and CCAs that communicate and hold meetings on various platforms. It is optimized for keyboard users.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
-
New Feature: Make the list of persons selectable (PR #112)
-
What it does: Allows the user to directly view the detailed contact information of any person in the contact list simply by clicking with the mouse or navigating with the arrow keys.
-
Justification: This feature improves the product significantly because a user can conveniently browse and see detailed information, improving the information density our product is able to deliver.
-
Highlights: This enhancement requires understanding of the observer pattern used in the GUI framework and FXML.
-
- New Feature: Add ability to
addandremoveindividual tags from a person (PR #88)-
What it does: Allows the user to create and delete individual tags in the application
-
Justification: As part of the target user profile, this a key feature that allows the user to organise the contacts in the address book.
-
- New Feature: Filter list by clicking a tag label (9f227def)
-
What it does: Allows the user to filter the Person/Meeting list by clicking on a tag label in the tag panel.
-
Justification: This feature improves the product significantly because a user can conveniently filter for groups of people/meeting with just a click, which is a key feature of our product.
-
- New Feature: Add
SocialMediatoPerson(PR #77, PR #131)-
What it does: Allows
Personinstances to contain information about any number of social media handles. Users can add/delete/edit specificSocialMediaentries for each person easily. -
Justification: Storing multiple and manipulating social media handles for each person is part of our product’s feature.
-
Highlights: This enhancement requires understanding of data storage and retrieval from AB3.
-
Credits:
- Chee Hong: Writing
SocialMediaclass, command for editingSocialMediaentries, JSON serialization ofSocialMedia. - Weng Qi: Command for adding & deleting individual
SocialMediaentries.
- Chee Hong: Writing
-
-
Enhancements to existing features:
- Changes to
Emailregex (PR #227)- Fix regex to allow for more than 2 consecutive special characters in local-part of an email.
- Set character limits of
Emailto follow RFC guidelines.
-
Allow index-based commands to work with names (106db91, PR #232)
-
Make UI components scale dynamically to the window size (PR #212)
- Wrote unit tests for
EditSocialMediaCommandParser(PR #260),ParserUtil(PR #230)
- Changes to
- Project management:
- Managed releases
1.2,1.3.trial,1.3.1. - Created milestones for the team repo.
- Managed releases
- Documentation:
- Developer Guide:
- Add Product Scope. (PR #55)
- Add Acknowledgements. (c724c4)
- Wrote implementation for
Targetclass. (c8c5f74) -
Wrote implementation for split-view panel (credits to Wu Zihao for the sequence diagram). (d014e58)
- Update diagrams for
Modelcomponent,Storagecomponent, andParserClassesunder theLogicsection. (PR #236)
- User Guide:
- Developer Guide:
- Contributions to team-based tasks:
- Review/mentoring contributions:
-
PRs reviewed (with non-trivial review comments): (PR #49, PR #78, PR #107, PR #262)
-
Reviewed over 40 Pull Requests in the team.
-
Provided over 60+ comments in team PRs and Issues.
-
- Community:
- Reported a total of 10 issues during the PE dry run.
- Helped others on the forum with technical difficulties (examples: 1, 2)
- Shared information about setting up unit tests in Visual Studio Code.