Aishwarya Nair's Project Portfolio Page
Project: CohortConnect
CohortConnect is an advanced desktop address book which facilitates networking among Computer Science (CS) students. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 15 kLoC.
Given below are my contributions to the project.
- New Features
- Add User Profile:
- Pull request #128
- What it does: Allows user to create a CohortConnect profile by providing their name, Telegram handle and GitHub username.
- Justification: Through this feature, the user’s GitHub username can be stored and be utilised by the Find a Buddy feature to extract insights from GitHub metadata and provide recommendations for potential teammates from their contacts.
- Highlights: Besides providing an entry point for the functioning of the Find a Buddy feature, the implementation of this feature was pretty challenging as it required integration with the Storage, Model, Logic and UI components and the creation of new Storage interfaces and classes to facilitate saving and access of the user profile details independently.
- Edit User Profile:
- Pull request #150
- What it does: Allows user to edit their profile (name, Telegram handle and GitHub username) linked to CohortConnect’s address book.
- Justification: This feature allows users to keep their own details updated, especially their GitHub username.
- Highlights: The user’s GitHub username remaining updated is crucial since the GitHub metadata is utilised by the Find a Buddy feature to extract insights and provide recommendations for potential teammates from their contacts.
- Tag Command
- Pull requests #256 and #264
- What it does: Allows user to directly add tags to or remove tags from a specific contact.
- Justification: Editing a contact’s tags using the edit command causes the new tags to replace the old ones instead of adding onto them and there was no direct way to remove tags from a specified contact. Hence, the Tag command allows users to add or remove tags from a specific contact with ease.
- Highlights: This feature overcomes the limitation of using the Edit command to edit the tags for a specified contact and enhances user experience.
- Clickable GitHub Username and Telegram Handle
- Add User Profile:
- Enhancements to existing features:
- Testing:
- Documentation:
- Community:
- Code contributed : RepoSense link