Zhang Yuhao's Project Portfolio Page
Project: JerylFypManager
JerylFypManager is a desktop application catered to professors to manage and track the progress for students’ final year project (FYP), as well as serving as a platform for professors to provide feedback on their students’ 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. This project is based on AddressBook - Level 3.
Given below are my contributions to the project.
- New Feature:
FindProjectNameCommand
- version 1.2 of Find command to allow the users to search FYP projects with keywords- What it does: The initial version of
FindCommand
only allows professors to search project name. 1) Different from AB3, the command can match partial words 2) Different from AB3, the keywords are now case-insensitive 3) Different from AB3, the keywords can contain spaces now - Credits: reused AB3 code, and the command is improved by Russell and Eugene in later versions.
- What it does: The initial version of
- New Feature:
AddDeadineCommand
- let users to add tasks with deadlines- What it does: Allows the users to add a deadline to a student specified by the student ID, given that the deadline does not exist in this student’s deadline list previously.
- Justification: This feature improves the user experience since it is important for professors to set a rough timeline to keep track of the task assigned to students.
- Highlights: This change/improvement involves changes of existing commands and student model.
- New Feature:
DeleteDeadineCommand
- let users to remove tasks with deadlines- What it does: Allows the users to remove a deadline assigned to a student specified by ID & a priority rank,
given that the specified deadline must exist in the student’s deadline list previously.
- What it does: Allows the users to remove a deadline assigned to a student specified by ID & a priority rank,
given that the specified deadline must exist in the student’s deadline list previously.
-
Code contributed:
RepoSense link - Project management:
- Reviewed and Approved some PRs.
- Helped add some test cases to increase test coverage.
- Enhancements to existing features:
- Made changes to Student model attributes to incorporate Project, Deadline/DeadlineList
- Implemented Deadline, DeadlineList, and related Command & Parser class.
- Renamed/refactored original Add/Delete Command to AddStudentCommand/DeleteStudentCommand.
- Minor changes to GUI to show deadline list.
- Fixed Deadline related PED bugs
- Minor changes to
EditCommand
to ensure the DeadlineList is inherited while updating a student.
- Documentation:
- User Guide:
- Added documentation for the Deadline related features:
- Removed and tweaked some stale documentation:
- drafted Use case: UC02 - Searching Keyword
- Developer Guide:
- User Guide:
- Tools:
- PlantUML for UML diagram for ListCommand & ExitCommand in DG