Tian Fang's Project Portfolio Page
Project: Taskmania
Taskmania (based off AB3) is a desktop app for a project leader to manage team members and tasks to be finished in a software project, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Taskmania can allow you to manage your team faster than a traditional point and click interface.
Given below are my contributions to the project.
- Model modification: Added basic dependencies of Participation.
- What it means: created attribute and methods related to Participation class in Project and Person class.
- Model modification: Updated Participation class after the creation of the Task class (Pull request #71)
- What it means: added more and updated methods in Participation and create corresponding methods in Project.
- New Feature: Added
TaskFilterCommand
to filter the task list (Pull request #96)- What it does: allows the user to filter the task list by task’s assignee, deadline, task name
- Justification: This feature is one of the core features that we promised to deliever as this command allows our target users to find desired tasks effortlessly, which is crucial to their project management.
- New Feature: Added
AllTasks
command to show all the tasks (Pull Request #138)- What is does: allows the user to clear the task filter and view all the tasks in the project.
- New Feature: Added
TaskSorterCommand
to sort the task list (Pull Request #188)- What is does: allows the user to sort the task list by task name, deadline, progress, and done status
- Justification: Users may want to change the way the task list is presented so that the tasks are sorted in a desired order. This can provide more insights into the status of different tasks (e.g. sort by deadline shows tasks that are due soon at the top of the task list).
- New Feature: Added
DeleteTaskCommand
to delete a task from the task list (Pull Request #271)- What is does: allows the user to delete a task from the task list and remove all information related to that task.
- Code contributed: RepoSense link. Note: we initially had a Meeting class, but we decided to remove it due to time constraints. Therefore, some of my codes written for the Meeting class may not be reflected on the RepoSense such as Meeting Filter (Pull Request #135) and AllMettingsCommand (Pull Request #138)
- Enhancements to existing features:
- Updated the task filter to support filtering by task’s progress, or done status (Pull Request #138)
- Updated
AddTaskCommand
to enable creating tasks with deadlines (Pull Request #139) - Created
Date
andArgumentMultimapUtil
classes, and updated the task filter to support finding tasks within a time range (Pull Request #188)
- Documentation:
- User Guide:
- Developer Guide:
- Wrote first draft of non-functional requirements (Pull Request #54)
- Added and updated Use Cases related to
filter
- Modified the
Logic
component section in DG. (Pull Request #131) - Added the implentation of the
filter
feature (Pull Request #146) - Added the manual testing instruction for
deletetask
command (Pull Request #372)
-
Testing: