Koh Vinleon's Project Portfolio Page
Project: Tutor Tracker
Tutor Tracker is a desktop tuition management application meant for secondary students to track their tuition information, such as upcoming tuition appointments and tutor’s contact information. It focuses on the Command Line Interface (CLI) while providing users with a simple and clean Graphical User Interface (GUI).
Given below are my contributions to the project.
- New Feature: Implemented
list_appointments
,find_appointment
andview_appointment
.- What it does: allows the user to view all the appointments, finding appointments based on tutor’s name and viewing appointments on a certain date in the Tutor Tracker.
- Justification: This feature provides the basic necessity in the application as it allows tutees to track their appointments.
- Highlights: It mainly supports the GUI in displaying the list of appointments of the tutees.
- Credits: Codes are adapted from
ListCommand
andFindCommand
in AddressBook 3. - Links: #88
- New Feature: Implemented Event class.
- What it does: serves as a superclass of Appointment and Schedule to ease of validation and GUI enhancement.
- Justification: this feature improves the product significantly because it extends the usability of the product by providing supporting methods in validations and timetable GUI in Tutor Tracker.
- Highlights: This enhancement affects all event-related commands to be added in the future.
- Link: #142
- New Feature: Implemented DateTimeValidationUtil.
- What it does: serves as a thorough validation method to ensure the new Appointment and Schedule does not violate the datetime constraints.
- Justification: this feature improves the product significantly because it extends the usability of the product by ensuring data integrity in Tutor Tracker.
- Highlights: This method is used in
AddAppointmentCommand
,EditAppointmentCommand
,AddScheduleCommand
andEditScheduleCommand
to ensure data are tested and validated before it can be added to TutorTracker. - Link: #304
- New Feature: Implemented Schedule class.
- What it does: allows the user to create new Schedule objects in Tutor Tracker.
- Justification: this feature improves the product significantly because it extends the usability of the product by allowing tutees to plan and allocate their time to tuition related task/schedule in Tutor Tracker.
- Highlights: This enhancement affects all schedule-related commands to be added in the future.
- Credits: Codes are adapted from
Person
in AddressBook 3. - Links: #142, #172
- New Feature: Implemented Schedule’s CRUD Commands.
- What it does: allows the user to create, update, retrieve and delete schedule records from the Tutor Tracker’s Schedule Tracker.
- Justification: this feature improves the product significantly because it extends the usability of the product by allowing tutees to track and manage their schedules.
- Highlights: This enhancement affects all schedule-related commands to be added in the future. The implementation was challenging as it required changes to the existing model, logic, storage and UI.
- Links: #142, #159
- Credits: Codes are adapted from
AddCommand
,EditCommand
,ListCommand
andDeleteCommand
in AddressBook 3.
- New Feature: Implemented Reminder class.
- What it does: allows the user to create new Reminder objects in Tutor Tracker.
- Justification: this feature improves the product significantly because it extends the usability of the product by allowing tutees to store reminders in Tutor Tracker.
- Highlights: This enhancement affects all reminder-related commands to be added in the future.
- Links: #185, #204
- Credits: Codes are adapted from
Person
in AddressBook 3.
- New Feature: Implemented Reminder’s CRUD Commands.
- What it does: allows the user to create, update, retrieve and delete reminder records from the Tutor Tracker’s Reminder Tracker.
- Justification: this feature improves the product significantly because it extends the usability of the product by allowing tutees to track and manage their reminders.
- Highlights: This enhancement affects all reminder-related commands to be added in the future. The implementation was challenging as it required changes to the existing model, logic, storage and UI.
- Link: #185
- Credits: Codes are adapted from
AddCommand
,EditCommand
,ListCommand
andDeleteCommand
in AddressBook 3.
- GUI Enhancement: Implemented TimeTable window GUI.
- What it does: allows the user to view appointment and schedule in a timetable GUI in Tutor Tracker.
- Justification: this feature improves the product significantly because it extends the usability of the product by allowing tutees to track and manage their appointments and schedules in a graphical representation.
- Highlights: This feature allows tutees to open a window to view their appointments and schedules just like a typical school timetable. The implementation was challenging as it requires a lot of checks before the dynamic population of UI objects.
- Link: #168
- Credits: Solution adapted and reused some codes from senior team AY2021S1-CS2103T-W13-3.
- GUI Enhancement: Added Calendar
- What it does: allows the user to view
appointment
andschedule
on a certain date through a calendar interface. - Justification: this feature improves the product significantly because it extends the usability of the product by offering an alternative way to view appointment and schedule on a certain date.
- Highlights: This feature enhances the overall GUI’s look and feel as well as provide usability to user.
- Credits: Solution adapted and reused codes from senior team AY1920S2-CS2103T-T10-3.
- Link: #58
- What it does: allows the user to view
- Testing: Performed JUnit Testing for
Schedule
,Reminder
andEvent
related classes. -
Code contributed: RepoSense link
- Project management:
- Contributed to the management of the issue tracker and pull requests on GitHub
- Handles integration
- Assisted team members with bugs fixing and documentation
- Enhancements to existing features:
- Documentation:
- User Guide:
- Added documentation for the feature
list_appointments
,view_appointment
andfind_appointment
#2 - Added documentation for the feature
add_schedule
,list_schedules
,edit_schedule
,view_schedule
anddelete_schedule
#212 - Added documentation for the feature
timetable
#212 - Added documentation for the feature
add_reminder
,list_reminders
,edit_reminder
anddelete_reminder
#212 - Did cosmetic tweaks to existing documentation format #232
- Added documentation for the feature
- Developer Guide:
- Added introduction: #5
- Update and cosmetic tweaks to multiple sections: #5, #352, #341, #337, #332
- Added use cases of the
list_appointments
feature: #5 - Added implementation for
Schedule
: #317 - Added implementation for
Reminder
: #5 - Added implementation for
Event
: #5 - Added manual testing for
Schedule
andReminder
commands as well aslist_appointments
,view_appointment
andfind_appointment
: #5
- User Guide:
- Community:
- Dedicated PR reviewer for 2 team members as well as adhoc review of other PRs
- Constantly approved PRs of group members despite not being their dedicated reviewer.
- Reported bugs and suggestions for other teams in the class.