Project: Track2Gather

Track2Gather v1.4 is a desktop application that will manage up to a few thousand contacts, providing basic features for contact tracing personnel to organise and search through them via personal information, case numbers, and Stay-Home-Notice periods. The user interacts with it using a CLI, and it has a GUI 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 find by case number, phone number, SHN start date and SHN end date, in addition to name.
    • What it does: allows users to find by exactly ONE field (either name, case number, phone number, SHN start date, or SHN end date) at a time.
    • Justification: this feature allows user to find by a wider range of person fields, instead of just name.
    • The model classes implemented for this feature are PhoneStartsWithKeywordsPredicate, CaseNumberEqualsKeywordsPredicate, ShnPeriodStartEqualsKeywordsPredicate and ShnPeriodEndEqualsKeywordsPredicate.
    • Additional note: The behaviour of find differs based on the field specified by the user. Restrictions on user input and more specific usage details can be found in the User Guide.
  • New Feature: Implemented tests for enforcement mode commands (session, schedule, scall, fcall) and their parsers.
    • What it does: increase code coverage and allows detection of potential bugs.
    • Justification: as these features are new, tests were written to detect possible bugs.
  • New Feature: Enhanced Track2Gather to allow addition of optional next-of-kin information (name, address and phone number).
    • What it does: allows users to add a person’s next-of-kin information, if available.
    • Justification: next-of-kin information serves as a form of emergency contact. It is optional since not everyone has a next-of-kin.
  • Code contributed: RepoSense link

  • Project management:
    • Resolved issues
    • Reviewed and merged PRs
  • Enhancements to existing features:
    • Implemented find by case number, phone number, SHN start date and SHN end date, in addition to name. (Pull request #86 and #130)
    • Wrote tests for the following:
      • FindCommand, FindCommandParser and all the predicates (Pull request #86)
      • Enforcement mode commands (session, schedule, scall, fcall) and their parsers (Pull request#225)
    • Enhanced Track2Gather to allow addition of next-of-kin information to persons (Pull request #58)
  • Documentation:
    • User Guide:
      • Updated documentation for find command (Pull request #119)
      • Reviewed and gave suggestions to pull request #219 and #229, which addressed UG bugs detected during PE-D
    • Developer Guide:
      • Drafted documentation for add, list, delete and clear
      • Added implementation details of find command (Pull request #119)
  • Community: