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 of patient model and refactored the original person model into patient 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.
  • 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.



  • Documentation:
    • User Guide:
      • Added documentation for the features clear, exit and help (#57)
      • Updated details on on Nuudle’s edit and add feature. (#120, #195)
      • Authored details on Nuudle’s avail feature. (#120, #195)
      • Updated the Introduction segment. (#195)
      • Authored the About and Quick Start segment. (#195)
    • Developer Guide:
      • Authored the Use cases segment (#59
      • Added implementation details on edit feature, with the appropriate UML diagrams. (#115, #135)
      • Added implementation details on avail feature, with the appropriate UML diagrams. (#195)
  • Community:
    • PRs reviewed (with non-trivial review comments): (#103, #125)