Chi Xu's Project Portfolio Page
Project: Ailurus
Ailurus helps organizing committees account for details of their members. It provides users with convenient viewing and editing access to all information, thus providing much convenience in their work. The user interacts with it using a CLI, and it has a GUI created with JavaFX.
Given below are my contributions to the project.
New Features
- Implemented Task and TaskList
- What it does: Task contains name, deadline and allows users to mark and store the completion status of that task. And each member has a task list that contains all the task of the member. The task list can be saved and stored in json array as an attribute of member.
- Justification: This feature enhances our product by allowing users to keep track of the tasks assigned to each member.
- Highlights: This enhancement affects the model, storage and future commands. It required an in-depth analysis of design alternatives such as whether to have a global task list or each member has its task list.
- Notable PRs: PR#101, PR#140, PR#236
- Implemented task editing commands
- What it does:
teditcommand can edit the name and deadline of the task,tdonecommand can mark a task as done,tundonecommand can mark a task as uncompleted. - Justification: This feature improves the product by allowing users to edit the detailed information of an existing task.
- Highlights:
teditwill only change the fields specified in the command parameters.tdoneandtundonecan edit multiple tasks’ status. - Notable PRs: PR#146, PR#150, PR#157
- What it does:
- Implemented
mtfindcommand- What it does:
mtfindcommand can find members whose tasks’ names contain the given keyword. - Justification: This feature allows user to filter members by their tasks and improves the searching functionality of Ailurus.
- Notable PR: PR#162
- What it does:
Code contributed
Project management
- Opened issues that sought to properly track the progress of adding and enhancing features.
- Reviewed and approved team members’ PRs for merging (more details in the Community section)
Enhancements to existing features
- Changed the address and email of member to optional fields
- Previously the address and email are compulsory, now the user can add a new member without address and email.
- Notable PR:PR#118
Documentation
- Developer guide
- User guide