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 undo/redo previous commands.
    • What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
    • Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.
    • Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
    • 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:

  • Tools:

  • {you can add/remove categories in the list above}