Project: PropertyWhiz

Property Whiz is a CLI customer relationship management application made for property agents. PropertyWhiz helps to keep track of properties and prospective buyers, then match properties and buyers.

Given below are my contributions to the project.

  • New Feature: Added the one to many matching command.
    • What it does: Allows the user to match one property to many buyers, and to match one buyer to many properties.
    • Justification: This feature allows the user (property agent) to find the most compatible properties for one of his/her clients, as well as to find the clients most likely to make a purchase on a certain property.
    • Highlights: This enhancement is the first command that requires some form of sorting, i.e. in addition to Predicates for filtering, this command requires a Comparator to order buyers and properties in terms of compatibility. As the JavaFX library offers either SortedList and FilteredList and not both, we need to choose between several candidate implementations to stack predicates and comparators. This requires weighing of costs and benefits as some implementations, like wrapping SortedList around FilteredList, are easier with less boilerplate but slower in performance. The implementation choice of a list that can be both sorted and filtered will affect other commands manipulating the list as well.
  • Code contributed: RepoSense link

  • Project management:
    • Managed the final release of v1.3 on Github
    • Updated CI to ignore missing end of lines for txt files
    • Managed documentation issues and tasks across milestones
  • Enhancements to existing features:
    • Updated the tagging command to append and remove tags (#31)
    • Expanded CRUD commands, add, edit, and delete to act on properties and buyers (#56)
  • Documentation:
    • User Guide:
      • Added documentation for the features add (property | buyer), edit (property | buyer) #56
      • Added documentation for the tagging improvements #31
    • Developer Guide:
      • Refactor DG’s Design section and diagrams from AddressBook3 to PropertyWhiz #94
      • Added implementation details of the match (property | buyer) (one to many matching) feature #112
  • Community:
    • PRs reviewed (with non-trivial review comments): #134, #114, #70, #97