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
findPerson
command. (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
findPerson
command was adapted from thefind
command in the AddressBook-Level3 project (AB3) created by the SE-EDU initiative.
- New Feature: Implemented the
Task
objects and loading/saving of tasks. (PR #81, #83)- What it does: It specifies the attributes that a
Task
should 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
findTask
command. (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 thefindTask
command to filter the task list. - Credits: The
findTask
command was inspired by thefind
command in AB3.
- New Feature: Implemented the
listTag
command. (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
,findTask
andlistTag
commands. (PR #54, #121) - Added implementation details of
findTask
feature. (PR #100) - Updated existing
Storage
andModel
class diagrams to includeTask
class. (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)