Project: DukePro(f)

DukePro(f) is a schedule-planning desktop application that assists university professors in managing their consultations.The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 42k Loc.

Given below are my contributions to the project.

  • New Feature: Added Command Summary Command feature
    • PR(s): #88
    • What it does: opens a window that shows a list of all available commands
    • Justification: Users may want to view of all available commands for DukePro(f) quickly with a command
  • New Feature: Created Command Summary Page using JavaFX
    • PR(s): #88
    • What it does: a window that displays a list of all available commands
    • Justification: New users may want to refer to the format, description and examples of each command from DukePro(f)’s GUI instead of opening and scrolling through the User Guide
  • New Feature: Added colour-coded URGENT and supplementary tags
    • PR(s): #73
    • What it does: colour codes URGENT tags to red and supplementary tags to yellow to show consultation severity
    • Justification: Professors may want to tag their consultations with severity level tags to know which ones they should prioritise
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.2 - v1.4 (3 releases) on GitHub
  • Enhancements to existing features: Revamped DukePro(f)’s GUI completely
    • PR(s): #57
    • Before (UI Mockup):

    • After:

      • Changed DukePro(f)’s colour theme by making major modifications to the CSS file
      • Restructured DukePro(f)’s components by editing FXML files
  • Documentation:
    • User Guide:
      • Added documentation for the command command_summary
      • Added documentation on how to utilize URGENT and supplementary tags
    • Developer Guide:
      • Added implementation details for the command ‘command_summary’
      • Added the CommandSequenceCommand Sequence Diagram
      • Updated UiClassDiagram to include CommandSummaryWindow
  • Team-Based Tasks:
    • Maintained issue tracker
    • Refactor AddressBook to Schedule
    • Morphing of original product (AB-3) to current product (DukePro(f))