Khor Jun Wei's Project Portfolio Page
Project: Teacher’s Address Book (TAB)
Teacher’s Address Book (TAB) is a desktop app made for teachers, teaching assistants(TA) and professors for managing contacts of each other, as well as their students, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TAB can get your contact management tasks done faster than traditional GUI apps.
Given below are my contributions to the project.
- New Feature: Implemented the
Student
class- What it does: encapsulates the relevant details of a student (i.e. their attendance and grades).
- Justification: the product can be used for managing the contact information of persons in three positions, with student being one of them.
- Highlights: the
Student
class extends the abstractPosition
class.
- New Feature: Added the
AttendanceCommand
to edit the attendance of a student in the address book.- What it does: allows the user to edit the attendance of a student in the address book.
- Justification: As a teaching assistant, one has to keep track of the attendance of a student, to know how frequent he/she attends lessons and present the information to the professors. The attendance command allows the user to update the attendance of a student to their current status.
- Highlights: the implementation of the command execution took inspiration from the existing commands’ execution, after an in-depth analysis of the code base and design alternatives.
- New Feature: Added the
GradeCommand
to edit the grade of a student in the address book.- What it does: allows the user to edit the grade of a student in the address book.
- Justification: As a teaching assistant, one has to keep track of the grade of a student, to know how well they are performing and provide help when necessary. The grade command allows the user to update the grade of a student to their current status.
- Highlights: the implementation of the command execution took inspiration from the existing commands’ execution, after an in-depth analysis of the code base and design alternatives.
- New Feature: Added the
FilterCommand
to filter students with similar tags in the address book.- What it does: allows the user to filter students with similar tags in the address book.
- Justification: As a teaching assistant, one may want to search the address book for contacts who are part of the same tutorial class. The filter command allows the user to do so efficiently, and the address book will now display the filtered list of students.
- Highlights: the implementation of the command execution took inspiration from the existing commands’ execution,
after an in-depth analysis of the code base and design alternatives. For instance, the command requires the use of
TagContainsKeywordPredicate
, which took inspiration fromNameContainsKeywordsPredicate
.
- New Feature: Implemented the
ChartUtil
class- What it does: Constructs a bar chart to visually display the grades of a student.
- Justification: this will be helpful to teaching assistants, as they can now easily compare the performance between students visually.
-
Code contributed: RepoSense link
- Project management:
- Authored 9 issues to help keep track of current issues and progress.
- Managed testing and writing test code: #149
- Enhancements to existing features:
- Updated
addAssignmentsCommand
to raise more issues with invalid user inputs: #143
- Updated
- Documentation:
- Community:
- Tools: