Noel Kwan's Project Portfolio Page
Project: TAsker
TAsker is a desktop address book application used for teaching Software Engineering principles. 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.
-
Implement the student model: Update Person model to student
-
What it does:
Includes student specific fields such as their matriculation number, telegram.
-
Justification:
Existing models were missing critical fields which TAs needed for administration.
Including these fields in the model would mean we can extend existing commands to add these in as parameters.
-
Highlights:
Implementing regex was difficult as both matriculation number and telegram handle had different constraints.
Refactoring tests was painful but made easier thanks to the
Builder
pattern we used forPerson
tests.
-
-
Show attendance command: Added a command that allows the user view attendance of a student at a specific date
-
What it does:
Allows users to view attendance of a student at a specified date.
-
Justification:
Teaching assistants may need to know whether a student is present or absent on during tutorial dates.
This feature allows them to perform that check.
-
-
Delete consultation command: Added a command that allows the user to delete a consultation slot.
-
What it does:
Allows users to delete consultations.
-
Justification:
In the event users have keyed in an incorrect consultation slot or want to remove a consultation slot, this feature allows them to do so.
-
-
Code contributed: RepoSense link
-
Project management:
- Organize weekly project meetings
- Distribute weekly tasks for first sprint (v1.1 - v1.2).
- Check on team members to see if they need help for tasks.
-
Enhancements to existing features:
-
Documentation:
- User Guide:
- Remove address field from examples #101
- Fix linking for the help guide to our user guide
- Developer Guide:
- Added implementation details of the
show attendance
feature. - Added implementation details of the updated
Person
model.
- Added implementation details of the
- User Guide:
-
Community: