Project: CliniCal

AddressBook - Level 3 is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 20 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the ability to mark patients with specific colours.
    • Justification: This feature improves the product as it allows the user to visualise the list of patients in a more colourful manner.
    • Highlights: This enhancement enhanced my knowledge and experience with linking JavaFX UI elements to the backend logic of the applicaiton.

  • New Feature: Added the GUI of the appointments/calendar view, via jfxtras library.
    • Justification: This feature was a core feature of our product, where users are able to add appointments to a list and visualise them on a calendar.
    • Highlights: This addition of adding an external library to the project allowed me to gain essential knowledge on the gradle dependency system, and the steps of integrating an external library into a java project.

  • Code contributed: RepoSense link

  • Enhancements to existing features:
    • Updated the UI layout. (Pull requests #82, #230)
    • Wrote additional tests for additional features in the application. (Pull requests #155)
    • Implemented sorting of appointments, a critical feature of CliniCal. (Pull requests #135 and #147)

  • Documentation:
    • User Guide:
      • Made necessary edits to various sections. (Pull request #246)
      • Restructured parts of the User Guide. (Pull request #281)
      • Documented formatting features of the User Guide. (Pull request #282)
    • Developer Guide:
      • Added the introduction to the document and the guide to set up the repo for development. (Pull request #111)
      • Introduced a key functionality of the application, Appointments, into the Developer Guide. (Pull request #254)

  • Community:
    • Contributed actively to forum discussions. (examples: Forum activities)
    • Reported bugs and suggestions for the team. (examples: #81, #44)
    • Some parts of the calendar feature I added was adopted by several other class mates (ArchAngel Developer Guide)

  • Tools:
    • Integrated third party libraries (jfxtras and commons-validator) to the project. (Pull requests #82 and #250)