Benjamin Koh Wei Jie's Project Portfolio Page
Project: Teaching Assistant’s Personal Assistant (TAPA)
TAPA is a desktop contact management application used to manage students’ contact and 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 10 kLoC.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- New Feature:
- Added the ability to display the format, and a short description for a specified command. #43
- What it does: Provides the user with a short description on what the given command does, as well as display the format of the command, allowing the users to learn how to use it.
- If no command is specified, this feature provides the user with a list of all the existing commands.
- Justification: This feature allows users to understand how to use and find out more about existing commands.
- Highlights: This feature was fairly easy to implement, however, it required constant updates whenever a new feature is added into our application.
- What it does: Provides the user with a short description on what the given command does, as well as display the format of the command, allowing the users to learn how to use it.
- Added the ability to display the format, and a short description for a specified command. #43
- New Feature:
- Added the ability to sort and display the students in TAPA. #134
- What it does: Sorts the list of students by the number of incomplete tasks in descending order and displays the list.
- Justification: This features allows the TAs to easily view which students are lacking behind in terms of number of incomplete tasks.
- Highlights: This feature was tricky to implement as the original implementation updated counters whenever a task is marked as done or undone. But, the counter resets everytime the application is rebooted. Thus, there was a need to ensure that the number of incomplete tasks would be counted everytime the
sort
command is run.
- Added the ability to sort and display the students in TAPA. #134
- New Feature:
- Added the ability to mark a specific undone task as done. #69
- What it does: Change the completion status of a task to done for a particular student.
- Justification: This feature allows users update the progress of a student’s task.
- Added the ability to mark a specific undone task as done. #69
- New Feature:
- Added the ability to mark a specific done task as undone. #69
- What it does: Change the completion status of a task to undone for a particular student.
- Justification: This feature allows users update the progress of a student’s task.
- Added the ability to mark a specific done task as undone. #69
- Enhancements to existing features:
- Modified the
assign
feature to allow assigning tasks to all students whom are taking a particular module. #102- The
assign
feature was previously implemented here in v1.2. It was enhanced in v1.3 to allow users to assign tasks to students in the same module more easily.
- The
- Wrote additional tests for new and existing features to increase code coverage. (#112, #117, #196, #199)
- Morphed AB3 into TAPA by refactoring test cases. (#210, #222, #226)
- Modified the
- Contribution to team-based tasks:
- Shared effort in renaming the product to “TAPA”.
- Shared effort in creating “TAPA” icon.
- Shared effort in morphing product into “TAPA” by removing unused fields, updating the diagrams in the Developer Guide #232, and adding an introduction. #261
- Maintained the issue tracker by assigning/labelling some issues.
- Updated Developer Guide by adding and editing user stories in the
Appendix
section. #91, #93 - Maintained the User Guide and Developer Guide by formatting them and fixing documentation bugs. (#213, #234, #258, #259, #263)
- Community:
- Documentation:
- User Guide:
- Developer Guide: