Xiang Jun's Project Portfolio Page
Project: SoConnect
SoConnect is a desktop app for SoC students to manage contacts of Professors and Teaching Assistants, as well as to keep track of noteworthy events, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). This project is part of the CS2103T team project requirements for AY2021/2022 Semester 1.
Given below are my notable contributions to the project.
- New Feature: Added the ability to link an event to one or more contacts.
- What it does: allows the user to choose an event and link related contacts to it.
- Justification: An event is likely to have people that are hosting it. Therefore, the ability to view the contacts of an event allows the user to easily contact the group of people that are hosting the event. This feature connects contact and event together, making the product more cohesive.
- Highlights: This enhancement affects existing commands such as EDeleteCommand, CEditCommand and EClearCommand. What these commands have in common is that they change the contacts/events in the contact/event list after execution. This is problematic because these can result in change in the links as well. Therefore, the implementation was challenging as it required changes to existing commands to take into account the links as well.
- New Feature: Added the ability to delete a range of contacts.
- What it does: allows the user to delete either one contact or an inclusive range of consecutive contacts.
- Justification: It is troublesome for users to delete the contact one by one. Allowing them to delete a range of contacts is more user-friendly.
- Highlights: This feature works well with the existing feature which can filter the contact list because user can delete the contacts from that filtered list with ease.
-
Code contributed: RepoSense link
- Project management:
- Add branch protection rules to enforce certain requirements.
- Ensures that a branch has to pass CI before it can be merged into the
master
branch. - Requires at least one reviewer’s approval before pull request reviews can be merged.
- Ensures that a branch is up to date with
master
branch before it can be merged. - Disallow push commits to
master
branch directly.
- Ensures that a branch has to pass CI before it can be merged into the
- Makes sure that team members are following the proper way of reviewing and merging pull requests.
- Facilitate closing of milestones and tagging the relevant commits with the correct version.
- Add branch protection rules to enforce certain requirements.
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Added documentation for product scope and user stories (Pull request #33)
- Added implementation details of the
elink
feature, which include sequence diagram, activity diagram and design considerations. - Added instruction for manual testing for
elink
feature. - Added use cases for editing events and linking an event to one or more contacts
- Community: