Project: TAB

TeachingAssistantBuddy(TAB) is a desktop address book application that can help Teaching Assistants (TAs) manage their students’ progress. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 24 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the ability add modules to TAB. (Pull request #72)
    • What it does: Module models an academic module offered in the National University of Singapore. This feature allows TAs to add modules that they are teaching to TAB.
    • Justification: This feature is a basic feature for the functionality of TAB.
  • New Feature: Added the ability to edit the name of the module from TAB. (Pull request #107)
    • What it does: TAs can change the name of a module that they are teaching, without having to re-enter all the data that already exist in the module
    • Justification: TAs may accidentally type the wrong module code and not realize it until they have entered the data of their students.
  • New Feature: Added the ability to delete a task from a module. (Pull request #122)
    • What it does: TAs delete existing tasks from a module
    • Justification: A module over the course of a semester can have many tasks. Having the ability to delete tasks that are no longer relevant can reduce the number of tasks in the module, making TAB neater overall.
  • New Feature: Added the ability for TAB to store and load existing data. (Pull request #130 and #138)
    • What it does: TAB can store and load existing data using JSON files.
    • Justification: For modules with many students and tasks, having to re-enter all the data upon launching TAB is impractical and would not be any more effective than keeping separate notes.
  • Testing:
    • Wrote test cases for the add module, edit module and delete task features that increased test coverage by 5.91%. (Pull request #209)
    • Wrote test cases for the Storage feature that increased test coverage by 10.00%. Pull request #217)
  • Code contributed: RepoSense link

  • Team-based contributions:
    • Performed original renaming of AddressBook to TAB (Pull request #63)
  • Documentation:
    • User Guide:
      • Added documentation for the features add module #72, and delete task #122
    • Developer Guide:
      • Added implementation details of the edit module feature #107, and delete task #122
  • Community:
    • PRs reviewed (with non-trivial review comments): #117, #133