Project: AddressBook Level 3

AddressBook - Level 3 is a desktop address book application used for teaching Software Engineering principles. 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 update patient’s information in feature list.
    • What it does: Allows user to update any field of any specified patient.
    • Justification: This feature allows the user to update the patient’s health condition and keep track of their contact information in a timely manner.
    • Highlights: This feature enhances the convenience of usage as the user no longer need to delete the old record and key in new record with most of the information to be repeated.
    • Credits: {mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}
  • New Feature: Added a history command that allows the user to navigate to previous commands using up/down keys.

  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.3 - v1.5rc (3 releases) on GitHub
  • Enhancements to existing features:
    • Updated the GUI color scheme (Pull requests #33, #34)
    • Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests #36, #38)
  • Documentation:
    • User Guide:
      • Added documentation for the features delete and find #72
      • Did cosmetic tweaks to existing documentation of features clear, exit: #74
    • Developer Guide:
      • Added implementation details of the delete feature.
  • Community:
    • PRs reviewed (with non-trivial review comments): #12, #32, #19, #42
    • Contributed to forum discussions (examples: 1, 2, 3, 4)
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)
    • Some parts of the history feature I added was adopted by several other class mates (1, 2)
  • Tools:
    • Integrated a third party library (Natty) to the project (#42)
    • Integrated a new Github plugin (CircleCI) to the team repo
  • {you can add/remove categories in the list above}