michaelshyam1 - Project Portfolio Page
Project: UniTasker
UniTasker is a desktop application used to keep track of tasks and courses.
Given below are my contributions to the project.
Summary of Contributions
New Features
- Added the Course Tracker feature
- What it does: Allows users to add and manage courses, track assessment components with weightages and scores, and compute weighted grades automatically.
- Justification: Users may need to track their grades across multiple modules. Having a built-in course tracker keeps everything in one place.
- Highlights: Supports adding/deleting courses, adding/deleting assessments, recording scores, and viewing weighted grade breakdowns. Course data is persisted to
courses.txt across sessions.
- Added the Undo feature (course commands)
- What it does: Allows users to reverse the most recent course command that modified data (e.g.
course add, course delete, course add-assessment, course score).
- Justification: Users may accidentally add or delete a course or assessment. Undo provides a quick way to revert mistakes
- Highlights: Implemented using the Command pattern with a history stack in
UniTasker. Extended the Command interface with default undo() and isUndoable() methods so existing commands are unaffected.
Code Contributed: RepoSense Link
General contributions:
- Implemented
CourseCommand, CourseParser, CourseManager, CourseUi
- Implemented
UndoCommand and extended Command interface with undo support
- Integrated course commands into the main command loop via
AppContainer
- Refactored
coursestracker package into existing package structure (course, command, storage, ui, exception)
Testing
Added JUnit tests for CourseManager, Course, Assessment, CourseStorage, and undo behaviour via CourseUndoTest.
Developer Guide Contributions
- Added implementation details for Course Tracker with a sequence diagram (
CourseAddSequenceDiagram)
- Added implementation details for Undo feature with a sequence diagram (
UndoSequenceDiagram) and class diagram (UndoClassDiagram)
- Added manual testing instructions for Course Tracker and Undo
User Guide Contributions
- Added documentation for the following features:
Review/Mentoring Contributions
- Reviewed PRs and provided feedback