Project: CallMeMaybe(CMM)

CallMeMaybe (CMM) is a desktop app centered for Telemarketers in aiding them in customer contact management. CMM provides a solution to quickly catalog people based on who has/yet to be called. It caters to Telemarketers by providing in-app tracking functionality to quickly contact previously unreachable customers. CMM also provides importing and exporting capabilities to allow ease of collaboration in team-based environments.

CMM is developed for use via a Command Line Interface (CLI) while providing the additional benefits of a Graphical User Interface (GUI). It is written in Java and the GUI is created with JavaFX. CMM has about 17 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the ability to filter contacts (Pull request #122)
    • What it does: Allows the user to filter contacts displayed based on category and count.
    • Justification: This feature enhances the app’s ability to support telemarketers by allowing them to view contacts that they want to see.
    • Highlights: The filter command involves both sorting and filtering the list of contacts. The implementation was challenging as it involved working around the current implementation of an Observer design pattern using a FilteredList. Considerations of different design options were made before finalising on the existing implementation. Modifications to code base can complement future enhancements that require similar functionality.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.1 - v1.4 (4 releases) on GitHub
  • Enhancements to existing features:
    • Added new person attribute Called class for tracking functionality (Pull request #40)
    • Modified writing to storage to support tracking functionality (Pull request #40)
  • Documentation:
    • User Guide:
      • Added documentation for the feature help, add, done, delete, clear, filter #72, #73, #124, #175
      • Did cosmetic tweaks to existing documentation: #100
    • Developer Guide:
      • Added implementation details of the filter feature: #124
      • Updated for CMM: #66
    • README, config and index:
  • Community: