Project: MediSync
MediSync is a desktop app specifically used for head nurses to manage staff and patients, optimised for use via a Command Line Interface (CLI). Instead of tracking data of staff and patients using existing applications such as Microsoft Excel, using a CLI-centric application like MediSync will help head nurses track and handle contact management more quickly.
Given below are my contributions to the project.
Code contributed: RepoSense link
Enhancements implemented:
- New feature: Added
affnh attribute and command
- The Affiliation History feature tracks the staff/patients that used to be affiliated or are currently affiliated with the patient/staff.
- Careful consideration of the design of the
affnh attribute and command was required to ensure seamless interaction with the existing Affiliation related classes. - Modifications were necessary in commands such as
AddCommand and EditCommand to ensure the affnh is updated correctly such that bidirectional relationship is maintained. - Ensuring that the Person loop is closed (i.e. no unregistered names remain in the system) by carefully handling cases when a person is deleted or during name changes.
- New feature: Added
spec attribute and command
- This feature allows dynamic editing of the
spec attribute of a Doctor. - Since only
Doctor objects will have this attribute, the spec attribute and command was designed to work with the existing Doctor class, while ensuring its compatibility with the existing Staff class, especially during testing phase. - Careful consideration of the parser was also necessary to ensure
spec is able to handle multiple specialisations that are separated by commas.
- Existing feaure: Updated
shift feature
- Allow clearing of shift days (PR: #150)
- Proper handling of invalid shift days (PR: #151, #152, #209)
- Wrote tests for
ShiftCommandParser (PR: #209)
Contributions to the UG:
- Documentation for features
affnh, spec, shift, delete (PR: #159, #203) - Update of command summary table (PR: #81)
Contributions to the DG:
- Model component write-up and class diagram (PR: #132)
- Affiliation History feature implementation write-up and activity diagram, including design considerations for alternative implementations (PR: #132, #138, #140)
- UC01 to UC05 (PR: #83)
Contributions to team-based tasks:
- Customize app output
- Ensured app's name, output, instructions, javadocs and error messages are aligned with the use cases of MediSync. (PR: #95)
Review/mentoring contributions:
- PRs reviewed (with non-trivial review comments)