Project: HealthSync
HealthSync is a desktop app for managing patient details, optimised for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, HealthSync can help you organise and manage patient details faster than traditional GUI apps.
Given below are my contributions to the project.
New Feature: Added the ability to log new patient profiles into the logger tab.
- What it does: Allows the user to enter
log
, which transfers all patient profiles resulting from the previous find
command to the logger tab. - Justification: This feature improves the product significantly because a user can use the logger tab as a sort of split view. It allows them to continue referring to the patient details, while still being able to carry out their tasks on the main patient list, such as finding more patients, editing and deleting.
- Highlights: This enhancement should only work if there was a
find
command previously. It required an in-depth analysis of the differing edge cases and exceptions that could arise, and appropriate handling of them.
New Feature: Added the ability to append new patient profiles to existing profiles in the logger tab.
- What it does: Allows the user to append the results of their latest
find
command to what is currently listed in the logger tab, using alog
. Unlike log
, alog
does not overwrite what is currently in the logger tab, and instead adds on to it. - Justification: This feature improves the product significantly because a user can add more profiles to the logger tab for easier referencing. It saves time and effort, as they can compile the results of many
find
commands together for continued referencing. - Highlights: This enhancement, similarly, required an in-depth analysis of the differing cases, one of which is handling the case of duplicates.
alog
has been implemented such that it will add every patient in the find
command except the duplicate(s) into the logger tab.
New Feature: Added the ability to clear all patient profiles in the logger tab.
- What it does: Allows the user to clear the logger tab of every patient they have added into the logger tab using either
log
or alog
. - Justification: This feature improves the product significantly because the logger tab can be reset and reused continuously as is fit for the user, serving as a handy tool akin to a low-effort whiteboard.
- Highlights: This enhancement works to remove only the patient profiles in the logger tab, without affecting those in the main patient list.
Code contributed: RepoSense link
Project management:
- Managed releases
v1.4.0
(1 release) on GitHub - Set up the README page to match the project (#39)
- Added bug tags and descriptions on GitHub to classify and tag bug severity types
Enhancements to existing features:
- Added on to existing find feature so patients can be searched for by their IDs too
- Wrote additional tests for find feature to increase coverage from 75.57% 76.62% (Pull request #78)
- Implemented undo for log, append log and clear log features
- Added aliases for log, append log and clear log features
- Added duplicate-handling for append log so patients are not added to the logger tab twice
- Wrote additional tests for log, alog and clog to increase coverage from 79.46% to 79.75% (Pull request #117)
- Refactored all instances of NRIC and IC Number to ID throughout the entire codebase and User Guide to increase flexibility of the app in accepting identification fields.
Documentation:
- User Guide:
- Added documentation for the feature find (#46).
- Added documentation for the features log, append log and clear log (#91).
- Updated existing documentation of all features to include tips (#136).
- Added glossary for icons used throughout (#203).
- Added instructions for making backup copies of the json file (#203).
- Added description and explanation for logger tab under glossary (#203).
- Added screenshots for all features (#136, #145).
- Developer Guide:
- Added implementation details of the
find
feature and added diagrams (#105). - Added implementation details of the
log
, alog
and clog
features and added diagrams (#257). - Updated DG use cases to reflect updates to the project (#257).
Community:
- PRs reviewed (with non-trivial review comments): #95, #130, #217, #211.
- Reported bugs and suggestions for other teams in the cohort (examples: 1, 2, 3).