Project: CONNECTIONS

CONNECTIONS is a desktop app adapted from AddressBook - Level 3 for managing contacts and keeping track of birthdays. It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI) that is created with JavaFX. It is written in Java and has about 10 KLOC.

Given below are my contributions to the project.

  • New Feature: Added the ability to pin and unpin contacts
    • What it does: Allows users to pin and unpin contacts. Pinning contacts will put them at the top of list of contacts, while unpinning contacts will move them behind the pinned contacts.
    • Justification: This feature improves the user experience significantly because a user can view frequently contacted contacts quickly, reducing the time needed to search for them.
    • Highlights: Dealing with GUI was difficult as pinned contacts have an additional pin but was essentially the same as other contacts. Major changes to the ordering in which contacts were stored were needed as well to allow for pinned contacts to be displayed on top.
  • Code contributed: RepoSense link

  • Project Management:
    • Created and assigned issues for milestone v1.2b on GitHub
    • Released v1.2.1 on Github
  • Enhancements to existing features:
    • Wrote integration tests for existing features to increase coverge from 75.14% to 75.36% (Pull request #74)
    • Updated help command to include help for pin, unpin, find and findAny (Pull request #105)
  • Documentation:
    • User guide
      • Added documentation for features pin, unpin and updated commmand summary (Pull request #105)
    • Developer guide
      • Updated Model Component and UI Component (Pull request #174)
      • Added a table of contents (Pull request #183)
      • Updated user stories based on current implementation, remove repeated ones and repharsed them to be better understood (Pull request #183)
      • Added implementation for features pin, unpin (Pull requests #109, #90)
      • Improved implementation for features find, findAny, birthday reminder, mailing list (Pull request #174)
      • Added use cases for generation of mailing list, deleting multiple contacts, viewing command prompts and viewing previous commands (Pull request #183)
  • Community:
    • PRs reviewed (with non-trivial review comments): #19, #53, #49, #67, #68, #79, #81, #86, #95, #96, #102, #173, #175
    • Contributed to forum discussions: (Examples: 1, 2, 3)
    • Reported bugs and suggestions for other teams in the class (Examples: 1, 2, 3)