Project: SeniorLove

SeniorLove is a contact management desktop app which aims to facilitate community workers’ visits to the elderly. It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Senior Love can get your contact management tasks done faster than traditional GUI apps.

Given below are my contributions to the project.

  • New Feature: Added the ability to delete visits for elderly.
    • What it does: allows users to delete elderly’s scheduled visits using index.
    • Justification: This feature improves the product significantly because a user can cancel a scheduled visit of an elderly and visits are at the core of SeniorLove.
    • Highlights: This enhancement affects existing commands such as DeleteCommand in SeniorLove. It required an in-depth OOP analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
  • New Feature: Added the ability to sort elderly based on visit or last visit.
    • Justification: This feature enhances the functionality of SeniorLove by reducing the time to manually search for the timeline of visit.
    • Highlights: The implementation was challenging due to consideration of design alternatives and in-depth understanding of JavaFX features. I managed to find a way to maintain immutability of the lists.
  • New Feature: Added the classes of Frequency and Occurrence for a visit.
    • What it does: expands the functionality of visit by including frequency (such as weekly or monthly) and the number of occurrence.
    • Justification: This feature enhances the functionality of visits in SeniorLove by enabling recurring visit as social workers usually visit seniors regularly.
    • Highlights: This enhancement required an in-depth OOP analysis of design alternatives. It also required changes from scratch and thorough consideration of test cases.
  • Code contributed: RepoSense link

  • Enhancements to existing features:
    • Updated the GUI for PersonCard and add icons for better readability (Pull requests #132, #140, #181)
    • Wrote additional tests for features such as SortCommand and SortCommandParser to increase coverage (Pull requests #68)
  • Documentation:
    • User Guide:
      • Added documentation for delete, sort command and updated help: #26, #102
      • Added alert boxes to highlight key informations and updated links in the guide: #184
    • Developer Guide:
      • Added implementation details of the delete and sort feature: #102, #139
      • Added glossary of terms for SeniorLove: #42
      • Format diagrams and update links: #184, #195, #208
  • Community:
    • PRs reviewed (with non-trivial review comments): #49, #54, #101, #117, #180, #201
    • Contributed to forum discussions (examples: 1, 2, 3)
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)