Project: CallMeMaybe(CMM)

CallMeMaybe is a desktop application developed for freelance telemarketers. While it has a GUI, most of the user interactions happen using a CLI (Command Line Interface). The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 15 kLoC.

Given below are my contributions to the project.

  • findAll command: Added the ability for users to search for all contacts that match all the keywords specified.
    • What it does: Allows the user to search multiple fields at once. For example, the person can search for a particular name and address. The command will only return contacts that match BOTH the name and address. If a contact only matches one of the field, it would not be returned.
    • Justification: This feature improves the product significantly because often times as a telemarketer, you are looking to narrow down your target demographic in order to best sell your product. Therefore, this function offers them a quick way to easily find all contacts that match all the descriptions of their target demographic.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.1 - v1.4rc (4 releases) on GitHub
  • Enhancements to existing features:
    • Updated the GUI to show a FullPersonCard (Pull requests #52 #75)
    • Improved the original add command to allow users to add in more optional fields. (Pull requests #78)
    • Updated the original find command to allow users to search for contacts thought more than 1 field. Originally, contacts could only be searched by name. Now they can be searched using name, phone, email, gender, age, address isDone, interest. (Pull requests #128)
  • Documentation:
    • User Guide:
    • Developer Guide:
      • Added implementation details of the add feature. #89
      • Updated the diagrams for the model and Ui portions. #93
  • Community:
    • PRs reviewed (with non-trivial review comments): #67, #107, #122,