Project: idENTify

Overview

IdENTify is a desktop app made for Ear, Nose and Throat (ENT) administrative staff to manage patients’ contact details and appointments, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, idENTify can get your patients/appointments’ management tasks done faster than traditional GUI apps.

Summary of Contributions

Given below are my contributions to the project.

Code contributed: RepoSense link Enhancements implemented:

  • delete command enhancement: Allows deletion of patients in a range, and not just a single deletion at an index.
  • Singleton pattern: Made use of singleton pattern to keep track of the current predicate shown in the UI (there should only be 1 “global” predicate)
  • cancel command: Allows removal of a person’s appointment from the appointment list.
  • hide patients command: Allows the model to hide patients based on conditions specified e.g hide by patient names or tags, makes use of the singleton.
  • hide appts command: Allows the model to hide appointments based on conditions specified e.g hide by appointment tags, status or reason, makes use of the singleton.
  • unhide patients command: Allows the mode to unhide previously hidden patients based on conditions specified e.g unhide by tags.
  • unhide appts command: Allows the model to unhide previously hidden appointments based on conditions specified e.g unhide by marked status. The global predicate to show/hide which appointments and patients was difficult to implement, because hide/unhide has to work with other commands such as find and edit, and a global predicate for the model must be maintained at all times. e.g hide/find/edit/unhide commands work on the current shown list instead of the full list of appointments and patients, and so the predicate has to be constantly combined, leading to many bugs.

Contributions to the UG:

  • Added delete, cancel, hide patients, hide appts, unhide patients, unhide appts feature description and examples.
  • Updated screenshot for help command.
  • Updated command summary.
  • Added glossary of terms to define.

Contributions to the DG:

  • Added explanations and UML diagrams for cancel command.
  • Added explanations and UML diagram for hide commands.
  • Added glossary of terms to define.

Contributions to team-based tasks:

  • Created and set up the organisation and repository in the initial stages of the project.
  • Released v1.2 and v1.3 jar files

Review/mentoring contributions:

Contributions beyond the project team: