Yeo Kai Jiun's Project Portfolio Page
Project: FRIDAY
FRIDAY is a desktop application used for managing CS1101S students, that is written in Java and built upon AddressBook Level 3. 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.
- New Feature: Added functionality to Mark the Mastery Checks of students as passed.
- What it does: Allows users to mark the Mastery Check of a specified student as passed.
- Justification: This feature allows users to update and keep track of which of their students have already passed their Mastery Checks. This is important as it helps the user to know if there are any important upcoming dates on which students have scheduled to have their Mastery Checks, or if these students have already completed their Mastery Checks.
- Highlights: The Mastery Check of the specified student has to meet all 3 of the following conditions in order to be able to be marked as passed:
- The student’s Mastery Check has not already been marked as passed.
- The student actually has a scheduled Mastery Check date (i.e. the student’s Mastery Check field is not empty).
- The student’s scheduled Mastery Check date is not beyond the current date.
- New Feature: Added functionality to Unmark the Mastery Checks of students.
- What it does: Allows users to unmark the Mastery Checks of students, removing the “passed” status of this student’s Mastery Check.
- Justification: This feature is an important counterpart to the
mark
feature, as it allows the user to unmark the Mastery Check of a student which they may have mistakenly marked as passed, even though the student has in fact not passed their Mastery Check. - Highlights: The Mastery Check of the specified student has to meet both of the following conditions in order to be able to be unmarked:
- The student’s Mastery Check has already been marked as passed.
- The student actually has a scheduled Mastery Check date (i.e. the student’s Mastery Check field is not empty).
- New Feature: Get the link to the User Guide for FRIDAY.
- What it does: Allows users to get a link to the User Guide, which they can then copy and paste into a browser to access the document.
- Justification: The user may need to refer to the User Guide while using FRIDAY in case they forget about command formats and other details of FRIDAY.
-
Code contributed: RepoSense Link
- Project management:
- Added user stories and tasks in Github Issues
- Assigned Github Issues for fixing of bugs reported from PE-D
- Enhancements to existing features:
- Refactored various Java classes in the existing code to match the purpose of FRIDAY, for example refactoring
Person
toStudent
. #84 - Created the
TelegramHandle
,MasteryCheck
andConsultation
classes. #84 - Edited sample data to fit the context of FRIDAY. #96
- Added and updated
guide
command for FRIDAY to allow the user to obtain a link to the User Guide for FRIDAY. #98 - Added and updated
mark
command for FRIDAY to allow the user to mark a specified student’s Mastery Check as passed. #111 - Added and updated
unmark
command for FRIDAY to allow the user to unmark a specified student’s Mastery Check. #128 - Added tests for
mark
andunmark
commands. #190
- Refactored various Java classes in the existing code to match the purpose of FRIDAY, for example refactoring
- Documentation:
- User Guide:
- Added documentation for the
mark
feature, including use cases and guide on how to use the command. #111 - Added documentation for the
unmark
feature, including use cases and guide on how to use the command. #128 - Added documentation for the
guide
feature #98 - Edited documentation for
mark
,unmark
andguide
features to make User Guide more user-friendly. #195 - Added explanations of each section of the User Guide to make the guide more user-friendly. #204
- Added documentation for the
- Developer Guide:
- Added documentation for the
mark
feature, including the implementation details, design considerations and UML sequence diagram. - Added documentation for the
unmark
feature, including the implementation details, design considerations and UML sequence diagram.
- Added documentation for the
- User Guide:
- Community: