Project: TuitiONE

TuitiONE 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 10 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the ability to unenroll a Student from a Lesson.
    • What it does: allows the user to unenroll a Student from a specific Lesson that the student is currently enrolled in.
    • Justification: A key feature in the application in order to remove the bi-directional linkages between a Student and a Lesson.
    • Highlights:
      • The Student must be currently enrolled in the specified Lesson.
      • Abstracting logic for ease of usage within other packages.
      • Ensures that model updates the Student and Lesson to reflect the removal of the bi-directional linkage.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.2, v1.2b
    • Creating new issues for tasks that need to be completed
  • Enhancements to existing features:
    • Updated the GUI to fix the display of the context menu upon right-clicking (Pull request #281)
    • Wrote additional tests for existing features: delete, delete-l, roster and the respective parser classes to increase coverage to 100% (Pull requests #198, #210, #218, #219)
    • Updated UnenrollCommand to take in an index of a lesson instead of a lesson code for the user’s ease of use (Pull request #150)
    • Added lesson list and relevant methods to the Model to enable the establishing of the relationship between Lesson objects and the Model (Pull request #64)
    • Updated the GUI for lesson cards to not show subject, grade and day to declutter the lesson card (Pull request #202)
    • Refactored seedu.addressBook package to seedu.tuitione package and replaced all occurrences of addressbook to tuitione (Pull request #128)
  • Documentation:
    • User Guide:
      • Adapted documentation of existing features such as add, delete in AddressBook3 to match their usage in TuitiONE (Pull request #22)
      • Added documentation for the features unenroll (Pull request #22)
      • Added quick start to UG (Pull request #129)
      • Added clarification to feature usage and new questions to FAQ (Pull request #293)
    • Developer Guide:
      • Updated use case for add and delete
      • Added use case for unenroll (Pull request #56)
      • Added implementation of feature unenroll (Pull request #156)
      • Updated sequence diagram for delete (Pull request #157)
  • Tools:
    • Utilize SceneBuilder to build GUI Layout