Jun Wei's Project Portfolio Page
Project: YellowBook
YellowBook is a desktop application for university students who are involved in many projects to organize their project contacts and tasks. 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: Archive / Unarchive command for tasks
- What it does: allows users to mark a task as archived
- Justification: users may wish to remove a task from their task list but be able to access it at a later time
- New feature: Undo / Redo command
- What it does: allows users to undo and redo commands
- Justification: users may wish to undo and redo their previous commands
- Credits: The general idea was referenced from proposed feature in Addressbook level 3 developer’s guide
- New feature: Filter command for contacts / tasks
- What it does: allow users to find contacts and tasks by labels
- Justification: users may wish to find contacts and tasks by labels
- Highlights: The predicate classes for contact and task were modified to allow for filtering by labels. This allowed the class’s reuse and reduced code duplication.
- New feature: Find command for tasks
- What it does: allows users to find tasks based on task fields (description, deadline, and completion status)
- Justification: users may wish to find task based on certain task fields
- Highlights: The find command required the implementation of a new predicate class to filter tasks based on task fields. Tell-Don’t-Ask principle was applied by ensuring that checks for whether task fields contain keywords are done in their respective classes (e.g. Description, Deadline, and CompletionStatus) rather than the predicate class.
-
Code contributed: RepoSense link
- Project management:
- Created issues and assigned them
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Community:
- Tools:
- Added
mockito
dependency for testing
- Added