Won Ye Ji's Project Portfolio Page
Project: ThunderCat
ThunderCat is a desktop application designed for NUS Year 2 Computer Science students. The application acts as an address book for contacts with added support for groups and group tasks management. The application is optimised for students who can type fast as it uses a Command Line Interface (CLI), while still having the benefits of a Graphical User Interface (GUI).
Given below are my contributions to the project.
- New Feature: Added the ability to list all groups in ThunderCat.
- What it does: Allows the User to view all groups.
- Justification: This feature is essential for User to be able to view all their groups in one display.
- New Feature: Added the ability to list all group members and tasks in a group.
- What it does: Allows the User to view group information of each group.
- Justification: This feature is essential for User to be able to access the list of tasks and group mates in groups they have created.
- New Feature: Added the ability to add a new task to a group.
- What it does: Allows the User to add a new task to a group’s task list.
- Justification: This feature adds functionality to ThunderCat as a task management tool, and not simply an address book of persons and groups.
- New Feature: Added the ability to mark a task in a group as done.
- What it does:
- Allows the User to mark a task in a group as done.
- Supports the undo function, allowing the User to easily reverse their action.
- Justification: This feature makes the ‘task’ in ThunderCat much more realistic and increases functionality, allowing the User to keep track of which tasks are done and which tasks are not.
- What it does:
- Enhancements implemented:
- Added Task-related exception classes
- Added UniqueTaskList class that enforces uniqueness between its elements to support Task-related commands in ThunderCat.
- What it does: This feature allows each group to have their own task list.
- Highlights: This enhancement affected numerous existing commands. Implementing this enhancement was challenging as it required changes to the Group model which led to numerous changes to other classes that used the Group model. Test cases and data also had to be updated accordingly.
- Added Task-related classes in test such as TypicalTasks, TaskBuilder and TaskUtil classes to support testing for Task-related features.
- Added Group-related exception classes
- Added Group-related class TypicalGroups to support testing for Group-related features.
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.1
,v1.2
,v.1,3
3 major releases on GitHub. - Reviewed pull requests
- Managed releases
- Enhancements to existing features:
- Documentation:
- User Guide:
- Added documentation for the feature
groups
#33 - Added documentation for the features
group
,addT
anddone
#182 - Changed documentation for the
help
feature #344 and #347 - Added glossary #196
- Did cosmetic tweaks to existing documentation of features
help
,add
,groups
,list
,clear
andexit
#182 - Did further cosmetic tweaks based on feedback received #347
- Added documentation for the feature
- Developer Guide:
- User Guide:
- Team Tasks:
- Ideated group and product name ‘ThunderCat’
- Updating user/developer docs: use cases, glossary, value proposition, introduction
- PRs reviewed (with non-trivial review comments): #193