Project: Residence Tracker

ResidenceTracker (RT) is a desktop app for managing residences, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you are a busy landlord renting out multiple residences and can type fast, RT can get your residence management tasks done faster than traditional GUI apps.

Given below are my contributions to the project.

  • New Feature: Adding Bookings to a Residence
    • What it does: Allows users to add booking details to an existing residence.
    • Justification: This feature is essential to the product since tracking bookings is a necessary feature of residence management that will determine when the residence needs to be cleaned or if it is available for personal use and so on. By allowing the user to add details of bookings such as dates, tenant name and contact details, it improves the completeness of the product for the user in managing residences.
  • New Feature: Automatic Sorting of Residences
    • What it does: Allows users to view residences that need to be cleaned before residences that were already clean.
    • Justification: This feature enhances the product by allowing the users to view the residences that need the most attention first since the unclean residences would need to be cleaned.
    • Highlights: This feature was tricky to implement as the sorting of residences affects other commands that access the residences based on the index in the display list. Specifically, the status command edited the clean status of multiple residences one after the other, so the sorting could not happen until a user command execution was completed. It required some thought to ensure that the implementation did not add more dependencies while also sorting when necessary.
  • New Feature: Reminder to View Residences with Upcoming Bookings
    • What it does: Allows users to view only the upcoming residences that have bookings in the next 7 days.
    • Justification: This feature enhances the product by allowing the users to view the residences that need the most attention and take necessary actions to ensure they are kept clean for upcoming bookings. Although this feature is similar to the above, this was added to give greater importance to residences with upcoming bookings as other unclean residences need not have to be cleaned as much as these do in order to be ready for tenants.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.2 - v1.4 (4 releases) on GitHub
    • Practice of forking and feature branch workflow with issues, milestones and CI/CD.
  • Documentation:
    • User Guide:
      • Added documentation for the features remind and addb #173
      • Did cosmetic tweaks to existing documentation of features add, edit, status
    • Developer Guide:
      • Added implementation details of the remind feature: #174, #240
      • Added user stories and made cosmetic tweaks to adapt the document to the new application. #237
  • Community:
    • PRs reviewed (with non-trivial review comments): #146
    • Contributed to forum discussions (examples: 1)
    • Reported bugs and suggestions for other teams in the class (2 teams: 1, 2)