Project: Track2Gather

Track2Gather 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.

  • Project management:
    • Managed the issue tracker.
    • Managed the project board.
  • New Feature: Added the ability to allow the addition of optional address information (workAddress and quarantineAddress) #59
    • What it does: allow users to add a person’s work and quarantine address, if available.
    • Justification: additional address information is always useful when it comes to tracking the location of a person in the case of emergency. It is optional since not everyone has multiple addresses.
  • New Feature: Implemented tests for addCommand and editCommand for attributes added in v1.2 (workAddress, quarantineAddress, shnPeriod, nextOfKinName, nextOfKinPhone and nextofKinAddress) #84, #106
    • What it does: increase code coverage and allows detection of potential bugs.
    • Justification: as these attributes are new, tests were written to detect possible bugs.
  • New Feature: Implemented an Attribute class from which all Person’s fields will inherit from. #223
    • What it does: increase the OOP-ness of the program and allows for the type-checking of the optional Person’s fields.
    • Justification: increasing the OOP-ness of the program allows for easier future development while the type-checking of optional Person’s fields will detect potential bugs due to wrong typings.
  • Code contributed: RepoSense link

  • Enhancements to existing and new features:
    • Improved the existing features to be able to save the newly added fields properly to the JSON file. #57
    • Improved the existing features by removing deprecated Tag field from the original AB3 program. #66
    • Fixed bugs in the Commands found from the PE Dry-run. #250
  • Documentation:
    • User Guide:
      • Fixed typo/formatting issues in the UG. #268, #271
    • Developer Guide:
      • Updated the UML for ModelClassDiagram for v1.4 milestone. #271
      • Fixed typo/formatting issues in the DG. #115, #268, #271
      • Modified the Javadocs of the Commands to be consistent with the UG/DG. #285
  • Community:
    • PRs reviewed (with non-trivial review comments): #47, #86, #114, #130
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)