Shaun Quek's Project Portfolio Page
Project: FriendlyLink
FriendlyLink is a personnel information management tool designed for Voluntary Welfare Organisations to keep elderly and volunteer records, and pair them up efficiently and effectively.
Given below are my contributions to the project.
- New Feature: The
auto_pair
command- What it does: Automatically pairs unpaired elderly and volunteers together
- Justification: It can be daunting to manually pair up the elderly and volunteers, especially when there are many factors that need to be considered, such as their region and availabilities. This command helps to give the user a starting point for how the unpaired elderly and volunteers can be paired up, allowing them to overcome the initial inertia.
- Highlights: It was tricky to figure out what algorithm we should use to pair up the elderly and volunteers. Ultimately, we decided on a simple, one-to-one matching, greedy algorithm to serve as a “starting point” for the user.
- New Feature:
edit
command by NRIC- What it does: Allows the user to edit the fields of an elderly/volunteer by identifying them through their NRIC
- Justification: Since NRICs in FriendlyLink are unique, we thought it would be good to provide users an option to identify an elderly/volunteer using their NRIC, rather than just through the index.
- Highlights: It was tricky to find a way abstract the “editing” functionalities shared between the
edit_elderly
,edit_volunteer
andedit
commands. Eventually, I decided upon using anEditDescriptor
class to encapsulate this logic.
-
Code contributed: RepoSense link
- Project management:
- Managed release
v1.3.2
(1 release) on GitHub
- Managed release
- Enhancements to existing features:
- Added the
PersonBuilderScaffold
class in tests for better abstraction - Created the
Volunteer
class, as well as theadd_volunteer
command
- Added the
- Documentation:
- User Guide:
- Added documentation for the command
add_volunteer
. - Added images for the
add_volunteer
,add_elderly
andedit
commands for better illustration.
- Added documentation for the command
- Developer Guide:
- Added implementation details of the edit feature.
- Modified the “Logic component” section under “Design” to better describe FriendlyLink’s architecture.
- User Guide:
- Community: