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 Export Command
    • What it does: allows the user to export properties and buyers from the current view to a csv file.
    • Justification: This feature allows for users to move the data in PropertyWhiz to another platform.
    • Highlights: This enhancement brings about a new type of command- the CommandWithFile. CommandWithFile required the addition of CommandPreAction to indicate that a FileChooserDialog is required for the user to select a file.
    • Credits: opencsv for writing csv files
  • New Feature: Added the Import Command
    • What it does: allows the user to import properties and buyers from a csv file to the current view.
    • Justification: This feature allows for users to move the data from another platform to PropertyWhiz.
    • Highlights: Together with Export Command, CsvManager was added as a static, purely functional class. The parsing of csv file was tricky and involved in multiple exceptions. Careful analysis of cases was required to display an appropriate error message.
    • Credits: opencsv for reading and parsing csv files
  • Code contributed: RepoSense link

  • Project management:
    • Created v1.3, v1.4 milestones
    • Fixed CI checks to ignore missing end lines in csv files
  • Enhancements to existing features:
    • Abstracted out Person class to be used in Property and Buyer classes #51, #54
  • Documentation:
    • User Guide:
      • Added documentation for the features export and import #142
    • Developer Guide:
      • Performed initial refactoring of DG from AddressBook 3 to PropertyWhiz #19
      • Added implementation details of the ipmort feature. #114
  • Community:
    • PRs reviewed (with non-trivial review comments): #26, #92, #52
  • Tools:
    • Integrated a third party library (opencsv) to the project: #62