Project: CampusConnect

CampusConnect is a desktop application built for NUS students living on campus to help them stay organised, stay connected, and make the on-campus experience at NUS stress-free. The user interacts with it using a CLI, and it has a GUI created with JavaFX.

Given below are my contributions to the project.

Summary of Contributions

Code Contributed

Refer to this RepoSense Link

Enhancements Implemented

  • New Feature: Implemented the addalt command; it supports the addition of alternative information of existing contacts in CampusConnect. (Pull request #46)

    • What it does: It allows the user to add extra information to existing contacts, in particular telegram, linkedin, secondary email and birthday.
    • Justification: Basic contact information when a contact is first added in CampusConnect may not be sufficient as with the advent of technology, people are engaged in different platforms to communicate with others besides messaging through contact number or email and mailing letters using address of contact. This feature helps the users to store more contact information, in particular, their telegram and linkedin usernames (or even another email) so that they can stay better connected to their contacts through these communication platforms.
    • Credits: Existing AB3 implementation for edit command gave me the inspiration of how I can move forward to implement this feature.
  • Enhancements to existing features: Improved the edit command; it supports the editing of other Person attributes added in CampusConnect. (Pull requests #75, #130)

    • What it does: It allows the user to edit information of existing contacts only if user
      1. Is not editing an empty field of alternative information (otherwise, it defeats the purpose of having the addalt command feature).
      2. Is not editing the 2 existing emails such that they become the same after the edit.
      3. Makes edits that results in at least a change in one of the contact's attributes.
    • Justification: This feature enables users to correctly utilize the edit command as per the definition of edit in layman terms; it should result in a change after editing existing values.
  • Enhancement to existing features: Improved the GUI of PersonCard. (Pull request #114)

    • Added labels to each of the attributes in the PersonCard so that users are able to distinguish what the values are referring to.
  • Bug fixing: Updated specificity of error messages displayed for commands that has index as a parameter and disallowing tag to have duplicate values. (Pull request #208)

Contributions to the User Guide

  • Added introduction. (Pull request #22)
  • Added documentation for the add, addalt, delete and list commands. (Pull request #140)
  • Updated planned enhancements section and front matters (quick start and start of features section). (Pull request #140)
  • Updated command summary. (Pull requests #140, #156)
  • Cleaned up errors before PED (Pull requests #156, #158)
  • Improved based on suggestion from PED, standardization of Table of Contents to have parallel language and summarized visual components as per CS2101 tutor feedback (Pull request #209)

Contributions to the Developer Guide

  • Updated NFRs and User Stories (Pull request #33)
  • Added implementation details for addalt and edit command. (Pull request #105)
  • Added prefix summary (Pull request #105)
  • Updated Use Cases (Pull requests #33, #143)
  • Updated Person Model (Pull request #143)

Contributions to Team-Based Tasks

  • Added introduction in UserGuide.md (Pull request #22)
  • Updated NFRs and User Stories in DeveloperGuide.md (Pull request #33)
  • Update structure of README.md for better clarity (Pull request #105)
  • Managed release v1.3.trial

Review / Mentoring Contributions

Contributions Beyond the Project Team

Found 13 bugs in team CS2103T-W10-4 during PED.