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 all 4 milestones v1.1 - v1.4 1, 2, 3, 4
    • Managed the issue tracker
    • Prepared agendas for and headed weekly project team meetings:
      • to guide conceptualisation of features
      • to delegate project work
      • to set goals for the iterations
      • to set timelines
      • to track all deliverables and their progress
  • New Feature: Added the ability to clear all persons whose SHN periods have been completed #88
    • What it does: allows the user to remove all persons whose SHN periods have been completed at current system time. User does not need to manually check which persons have completed their SHN as the functionality is performed automatically and internally with a single command.
    • Justification: This feature improves the product significantly because a user does not need to maintain persons whose SHN is completed as they no longer need to be tracked. The app should provide a functionality to remove them easily.
  • New Feature: Added the ability to delete multiple persons in any order #87, #123
    • What it does: allows the user to delete multiple persons at a time in any order.
    • Justification: This feature improves the product significantly because a user may wish to mass-delete unneeded persons without having to worry about in which order they specify these persons.
  • New Feature: Conceptualised SHN enforcement mode #134
    • What it does: allows the user to track the call statuses of persons in the app in order to enforce SHN. Best explained in the User Guide.
    • Justification: This feature improves the product significantly because a user of our target profile will need to call the persons who are on SHN in order to enforce the relevant regulations, as part of their contact tracing duties. With this feature, a user can easily record whether they have called each person in the current session, as well as track non-compliance instances in order to subject these offenders to further discipline, if needed.
    • Highlights: This enhancement affects four commands: session, schedule, scall, and fcall, which work together to implement SHN enforcement mode.
    • Credits: Conceptualisation of this entire feature was done in conjunction with Wei En, whereas implementation was done by Andrew.
  • Code contributed: RepoSense link

  • Enhancements to existing and new features:
    • Improved the existing features to track the SHN periods of persons #47
    • Improved the existing features to work with persons of the same name #121
    • Improved the existing and new features to display more user-friendly and comprehensible output messages #221
  • Documentation:
    • Project Website
      • Updated Landing Page for v1.3 milestone. #118
    • User Guide:
      • Added all documentation for the features delete, clear, session, schedule, scall, and fcall. #124, #135, #209
      • Ensured overall cohesion for milestones v1.3 and v1.4. #137, #219
    • Developer Guide:
      • Added all documentation for the features delete, clear, session, schedule, scall, and fcall. #92, #93, #135
      • Updated all UML diagrams for v1.3 milestone. #117
      • Ensured overall cohesion for milestones v1.2 - v1.4. #81, #137, #218
  • Community:
    • PRs reviewed (with non-trivial review comments): #89, #207, #247
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3, 4, 5, 6)