Project: AddressBook Level π (Abπ)

AddressBook pi (Abπ) is a 360° all-rounded desktop app for managing contacts, optimized for use via a Command Line Interface (CLI). Abπ is catered towards fast-typers and individuals who want an organized address book with key features including efficient filtering of contacts based on various attributes (name, email, tags, etc.), copying of all emails in the address book and a memo section that allows you to note down notable details about a person.

The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 9k LoC.

My contributions to the project:

  • Code contributed: RepoSense link

  • Features and Enhancements implemented::
    • Modified constraints for Name, Phone, Address, email, and Tag.
      • Pull request #166, #174, #233, adds upper and lower character limit to Name, Phone, Address, email, and Tag, and allows Name and Tag to have non-alphabetic characters.
      • #247, limits email to have at least one period for domain.
      • #248, #258, updates phone to allow + and spaces to allow country code.
    • Wrote additional tests to ensure the implementation of constrains for Name, Phone, Address, email, and Tag.
    • Implement new feature: Easy Navigation among input history using up/down errow key.
      • #61, allows user to invoke the most recent command by typing command keyword. Modified CommandResult using enum to indicate the type of command being executed.
      • #132, #146 allows user to go through input history by pressing up/down arrow key
        Pressing up-arrow Key will auto fill-in the command box with the previous command in the history (if there exist a previous input).
        Pressing down-arrow Key will auto fill-in the command box with the next command in the history (if there exist a next input).
  • Documentation:
    • User Guide:
      • Added documentation for Previous/Next Command feature.
    • Developer Guide:
      • #17, #27 adds use cases, glossary, and NFRs.
      • #281 Added implementation details of the CommandList, Previous Command and Next Command.
  • Community: