Li Jiakai's Project Portfolio Page
Project: CoordiMate
CoordiMate is a desktop application designed specifically for SoC Computing Club event planners to help manage their contacts and tasks for their events, so that they can focus on the event itself.
Given below are my contributions to the project.
- New Feature: Implemented the
findPersoncommand. (PR #74)- What it does: It allows users to quickly filter their contact list to show only contacts whose names match a given keyword.
- Justification: This feature allows users to quickly find the contact they are looking for without having to scroll through the entire contact list, which can be cumbersome if the user has a large number of contacts.
- Credits: The
findPersoncommand was adapted from thefindcommand in the AddressBook-Level3 project (AB3) created by the SE-EDU initiative.
- New Feature: Implemented the
Taskobjects and loading/saving of tasks. (PR #81, #83)- What it does: It specifies the attributes that a
Taskshould have. - Justification: This feature allows CoordiMate to handle tasks and execute commands related to tasks.
- Highlights: This feature required me to create new classes to represent the various attributes of a
Task, and to update the existing code to make it compatible with the new classes.
- What it does: It specifies the attributes that a
- New Feature: Implemented the
findTaskcommand. (PR #85)- What it does: It allows users to quickly filter their task list to show only tasks whose titles or note match a given keyword.
- Justification: This feature allows users to quickly find the task they are looking for, without having to scroll through the entire task list. Without this feature, finding a specific task would be cumbersome if the user has a large number of tasks.
- Highlights: While implementing this feature, I had to implement the relevant
Predicate<Task>classes for thefindTaskcommand to filter the task list. - Credits: The
findTaskcommand was inspired by thefindcommand in AB3.
- New Feature: Implemented the
listTagcommand. (PR #102)- What it does: It allows users to view all the tags that have been used in the contact and task list.
- Justification: When the contact and task lists get long, it can be difficult for the users to remember the various tags that they have used.
-
Code contributed: RepoSense link
- Project management:
- Set up GitHub Actions and Codecov to track code coverage.
- Added icons to CoordiMate application and Product Website.
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Added Admonitions to Developer Guide. (PR #54)
- Added user stories and use cases for
findPerson,findTaskandlistTagcommands. (PR #54, #121) - Added implementation details of
findTaskfeature. (PR #100) - Updated existing
StorageandModelclass diagrams to includeTaskclass. (PR #121) - Converted existing PNG diagrams to SVG format for better readability. (PR #121)
- Community:
- Tools:
- Integrated Cloudflare Pages to test product website deployments.
- Set up GitHub Actions to automate releases. (PR #5)