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
add
andremove
individual 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
SocialMedia
toPerson
(PR #77, PR #131)-
What it does: Allows
Person
instances to contain information about any number of social media handles. Users can add/delete/edit specificSocialMedia
entries 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
SocialMedia
class, command for editingSocialMedia
entries, JSON serialization ofSocialMedia
. - Weng Qi: Command for adding & deleting individual
SocialMedia
entries.
- Chee Hong: Writing
-
-
Enhancements to existing features:
- Changes to
Email
regex (PR #227)- Fix regex to allow for more than 2 consecutive special characters in local-part of an email.
- Set character limits of
Email
to 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
Target
class. (c8c5f74) -
Wrote implementation for split-view panel (credits to Wu Zihao for the sequence diagram). (d014e58)
- Update diagrams for
Model
component,Storage
component, andParserClasses
under theLogic
section. (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.