Xin Zhe's Project Portfolio Page
Project: Nuudle
Nuudle is a desktop app for managing patient records and clinic appointments, 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, Nuudle can get your patient and appointment scheduling tasks done faster than traditional GUI apps. The user interacts with it using a CLI, and it has a GUI created with JavaFX.
It is written in Java, and has about 19 kLoC, of which I contributed 3 kLoC.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- New Feature: Added the ability to obtain the available time slots as well as the next available slot for appointment on a specific date with
avail
command. (#106)- What it does: This feature allows the nurses to obtain available clinic appointment time slots on a specific date. Besides, the earliest available time slot on the specified date will also be provided.
- Justification: This feature improves the product significantly because it allows nurses to easily visualise the available time slots and earliest time slot to arrange medical appointments for patients, which is necessary and largely improves the efficiency of appointment scheduling.
- Highlights: This enhancement requires understanding of line-sweeping algorithm and its application in Nuudle’s context. This implementation was challenging as it required the construction of several models and classes, such as
Time Interval
,Schedule Manager
, from scratch.
- New Model: Improved the
person
model based on the need ofpatient
model and refactored the originalperson
model intopatient
model. (#81, #84)- Justification: This model is essential to Nuudle and improves the product significantly because operations related to patients are constructed based on the
patient
model.
- Justification: This model is essential to Nuudle and improves the product significantly because operations related to patients are constructed based on the
- Enhancements to existing features:
- Improved the existing
edit
/delete
feature with relevant operations to allow patient’s information to be updated accordingly in the appointment book. (#95) - Wrote relevant tests for the new implementation and enhancements to existing features.
- Improved the existing
- Documentation:
- User Guide:
- Developer Guide:
- Community: