Project: Baymax

Baymax is a desktop application used by the clinic receptionists to manage patient and appointment information. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 13 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the basic patient information management features and the tests.

    • What it does: These features allow the user to add, delete, edit, find and list all the patients in the system.
    • Justification: These features are the core of a typical clinic patient and appointment application as they alllow the user to perform basic functionalities such as adding and deleting patients.
    • Highlights: These features are necessary in order to perform other features such as the appointment management features. It was challenging to add new fields such as gender for the patient as it required modifying a huge part of the original code.
    • Credits: Adapted Address Book Level-3’s person package for the patient model.
  • New Feature: Added the listapptsof feature (listapptsof INDEX).

    • What it does: It allows the user to list all the appointments belonging to a specific patient by using his/her index in the patient list.
    • Justification: This feature is important for a clinic receptionists to instantly view a specific patient’s appointments so that he/she can find out when to schedule the next appointment.
    • Highlights: This feature required coming up with a specific predicate to filter the patient list in order to put the right patients inside the displayed list.
    • Credits:
  • Code contributed: RepoSense link

  • Enhancements to existing features:

    • Wrote additional tests for existing features to increase coverage (Pull requests #90, #97, #131, #170, #182, #190)
  • Community:

    • PRs reviewed (with non-trivial review comments): #111, #271, #299

    • Tested our own app and reported the bugs found (examples: 1, 2, 3, 4, 5)

    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)

  • Documentation:

    • User Guide:
      • Added the explanation sections under the Patient Features, and the Appointment Features.
      • Added the screenshots for the features.
    • Developer Guide:
      • Added implementation details of the Patient Management Features .
      • Added the activity diagram and sequence diagram for the FindPatientCommand.
      • Updated the Product Scope.