Zhang Ziqing's Project Portfolio Page
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
andOccurrence
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:
- Documentation:
- User Guide:
- Developer Guide:
- Community: