Cheong Yee Ming's Project Portfolio Page
Project: CohortConnect
CohortConnect - CohortConnect is an advanced desktop address book which facilitates networking among Computer Science (CS) students. It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
Given below are my contributions to the project.
New Features
- Telegram and Github Class:
- Pull requests #54 and #88
- What it does: Allows user to store the Telegram handle and Github username of people.
- Justification: Provides convenience when looking to connect with any of the existing contacts without having to source for ways to communicate and understand.
- Highlights: The implementation was rather challenging as it required simultaneous changes to occur in the Model and Logic component.
- Optional Fields:
- Pull requests #56
- What it does: Allows user to store the Github usernames of people in their contacts.
- Justification: This feature allows for greater convenience since people might not be comfortable giving away their phone number, email or address. This enhancement also makes adding new contacts so much easier.
- Highlights: This enhancement was simple to implement by tweaking existing code.
- Favorite Command:
- Pull requests #127
- What it does: Allows user to favorite an existing contact.
- Justification: Allow users to sort out contacts that are important to them, such as their family and friends.
- Highlights: The implementation was rather challenging as it required simultaneous changes to occur in the Model and Logic component.
- Unfavorite Command:
- Pull requests #131
- What it does: Allows user to unfavorite an existing contact.
- Justification: Allow users to sort out contacts that are no longer important to them.
- Highlights: The implementation was rather challenging as it required simultaneous changes to occur in the Model and Logic component.
Test Cases Written
Wrote test cases for the following classes
- LogicManagerTest (Pull requests #54, #88), CommandTestUtil (Pull requests #54, #88, #232)
- PersonTest (Pull requests #54, #88, #125, #135, #262, #279)
- TelegramTest (Pull requests #54), GithubTest (Pull requests #88)
- JsonAdaptedPersonTest (Pull requests #54, #88, #125)
- AddCommandTest (Pull requests #127, #131, #279)
- AddCommandParserTest (Pull requests #54, #88, #228, #232)
- EditCommandParserTest (Pull requests #88, #232, #125)
- FavoriteCommandTest, UnfavoriteCommandTest (Pull requests #135, #259, #279)
- FavoriteCommandParserTest, UnfavoriteCommandParserTest (Pull requests #135, #279)
- IsFavouritePredicateTest (Pull requests #135, #279)
- AddressBookParserTest (Pull requests #232, #259, #262, #279)
- AppParametersTest, ExportCommandParserTest, ImportCommandParserTest, ShowCommandParserTest (Pull requests #232)
- ParserUtilTest (Pull requests #232, #262)
- CommandResultTest (Pull requests #259), UserPrefsTest (Pull requests #262)
- UniquePersonListTest (Pull requests #262, #279)
- ConfigTest, GuiSettingsTest, LogsCenterTest, MessagesTest (Pull requests #273)
- StorageManagerTest (Pull requests #273, #279)
Documentation
- User Guide:
- Developer Guide:
Code contributed: RepoSense link