Project: TAB

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 to add students to a module. (Pull request #71)
    • What it does: It allows the user to add a student to a specified module one at a time.
    • Justification: This feature allows the TA to add a student to the module he or she is enrolled in. The feature also helps the TA to record the student’s information.
  • New Feature: Added the ability to delete students from a module. (Pull request #71)
    • What it does: It allows the user to delete a specified student from a specified module one at a time.
    • Justification: This feature allows the TA to remove students from a module when the TA accidentally adds the wrong student or adds the student to a wrong module.
  • New Feature: Added the ability to edit students’ information. (Pull request #98)
    • What it does: It allows the user to edit a specified student’s information.
    • Justification: This feature allows the TA to update or correct inaccurate information about the specified student.
  • New Feature: Added the ability to find students. (Pull request #98, #153)
    • What it does: It allows the user to find a student easily.
    • Justification: This feature allows the TA to find and view the student’s progress easily and also allows the TA to get the student’s information when needed.
  • Enhancements to existing features:
    • Updated list command to home command. (Pull request #98)
      • Justification: The command is updated to cater to TAB’s logic while having the same functionality.
  • Testing:
    • Wrote tests for all student-related classes to increase coverage by 20.60%. (Pull request #131)
    • Wrote tests for some other classes to increase coverage by 7.51%. (Pull request #146)
  • Code contributed: RepoSense link
  • Documentation:
    • User Guide:
      • Added documentation for the features add student, delete student, edit student, find student, home, clear, exit. (Pull request #73, #98, #136)
    • Developer Guide:
      • Added implementation details of the add student, delete student, edit student, find student feature. (Pull request #106, #136)
      • Drew UML diagrams for all student-related implementations. (Pull request #136)
      • Added user stories. (Pull request #38, #136)
      • Added use cases. (Pull request #38, #136)
  • Community: