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
FindCommandonly 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
EditCommandto 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