Chong Chee Kai Clarence's Project Portfolio Page
Project: SoConnect
SoConnect is a contact management and task management desktop app that aims to help NUS SoC students stay better connected to their school life, both in terms of social connections and school tasks. To better cater to NUS SoC students, SoConnect is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). SoConnect utilises JavaFx for its user interface and most of the codes are written in Java, which takes up 42kLoC.
Given below are my contributions to the project.
- Code contributed: RepoSense link
- Enhancements implemented:
- Tag Create Feature: Added the ability to create a tag to the tagList.
- What it does: allows the user to create a tag in the tagList, so it can be used to tag contacts and todos.
- Justification: This feature allows categorisation of contacts and tasks, so it is easier to search for things related to the tag.
- Highlights: This enhancement affects
tag add,tag deleteandtag editcommands. It required an in-depth analysis of design alternatives. The implementation was challenging as it required changes toaddandeditcommands.
- Tag Add Feature: Added the ability to add a tag to a contact.
- What it does: allows the user to add a tag to a contact.
- Justification: This feature allows linking between the tag and the contact.
- Highlights: This enhancement affects
tag edit,tag deleteandtag removecommands. It required an in-depth analysis of design alternatives. The implementation was challenging as it required changes toaddandeditcommands.
- Tag Edit Feature: Added the ability to edit a tag.
- What it does: allows the user to edit a tag in the tagList so that we can change the tag in the contacts.
- Justification: This feature allows tag-naming mistakes to be fixed.
- Highlights: This enhancement affects
tag createandtag deletecommands. It required an in-depth analysis of design alternatives. The implementation was challenging as it required changes toeditcommand.
- Tag Remove Feature: Added the ability to remove a tag from a contact.
- What it does: allows the user to remove a tag from a contact.
- Justification: This feature allows de-linking of a tag from a contact.
- Highlights: Highlights: This enhancement affects
tag editcommand. It required an in-depth analysis of design alternatives. The implementation was challenging as it required changes toeditcommand.
- Tag Delete Feature: Added the ability to delete a tag.
- What it does: allows the user to delete a tag from the tagList.
- Justification: This feature allows removal of the tag to prevent accidental access of unused tags.
- Highlights: This enhancement affects
tag editandtag removecommands. It required an in-depth analysis of design alternatives. The implementation was challenging as it required changes toeditcommand.
- Tag Create Feature: Added the ability to create a tag to the tagList.
- Contributions to documentation:
- User Guide:
- Added documentation for the features
tag create,tag edit,tag add,tag removeandtag delete.
- Added documentation for the features
- Developer Guide:
- Added documentation of implementation of
tag addandtag editfeatures. - Added UML diagram for
tag addandtag editfeatures.
- Added documentation of implementation of
- User Guide:
- Contributions to team-based tasks:
- In charge of integration.
- Set up Github project board.
- Review/mentoring contributions:
- Link to PRs reviewed: PRs reviewed link
- Contributions beyond the project team:
- Evidence of helping others:
- Bug reports submitted during dry run of practical exam: PED link
- Evidence of helping others: