Project: TrAcker

TrAcker - TrAcker is a desktop event management application for NUS CS2040 Teaching Assitants (TA). The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.

Given below are my contributions to the project.

  • New Feature: Added the function to add/edit/delete notes from events.
    • What it does:
      • Allows TAs to add their notes to events such as tutorials, labs, and consultations.
      • Allows TAs to edit their notes from events such as tutorials, labs, and consultations.
      • Allows TAs to delete their notes from events such as tutorials, labs, and consultations.
    • Justification: Useful since TAs are managing many students from different sessions with different needs. Also, they are usually tasked with multiple duties. In order to keep organized, they need a noting system.
    • Highlights: Good usability and efficient management system inside each event.
  • New Feature: Added the GUI for listing notes directly from event cards.
    • What it does: Displays the list of notes neatly inside the event cards when clicked with mouse, with notes hidden by default.
    • Justification: Useful since TAs will be able to check notes conveniently through events, instead of listing notes in a centralised manner which hardly enable efficiently note finding, editing, and deleting.
    • Highlights: Different presentations between when there are notes and when there are not. Notes are hidden by default, and listed neatly when users expand them.
  • New Feature: Added the search utility that locates the note from an event to delete or edit.
    • What it does: Searches notes from list of events by event names and note indices.
    • Justification: Useful since TAs will be able to edit or delete notes more efficiently by our internal search optimisations.
    • Highlights: Supports wildcard matching with event names and note indices.
  • Code contributed: RepoSense link

  • Project management:
    • Releases v1.2 - v1.4 (3 releases) on GitHub.
  • Enhancements to existing features:
    • Created part of the GUI for displaying list of notes: #158
    • Enhanced command parser and handlers for adding, deleting, and editing notes: #158
    • Enhanced unit tests to cover for adding, deleting, and editing notes utilities: #82.
  • Documentation:
    • User Guide:
      • Added a documentation and command summaries for adding, deleting, and editing notes: #162, #265.
    • Developer Guide:
      • Added implementation details of the note feature: #135, #158.
      • Added planned enhancement feature and anticipated actions required: #299.
  • Community:
    • PRs reviewed (with non-trivial review comments): #16, #59, #65, #84, #86
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)
    • Authored 7 issues and 16 PRs.
  • Tools:
    • JavaFX BorderPane, ScrollPane, VBox.