Kenneth's Project Portfolio Page (@Kennethsim2000)
Project: HackAssist
HackAssist is a task management application used to better manage tasks allocation in Hackathons. HackAssist provides allocation, sorting and filtering of tasks features to allow users to better manage the task allocation and progress tracking in a hackathon team. HackAssist is optimized for use via a Command Line Interface(CLI).
Given below are my contributions to the project.
- New Feature: Added the Description, Name, Priority and PriorityEnum attributes of a Task (Pull requests #40).
- What it does: Creates the basic format of how a task is created.
- Justification: A task can be represented by its taskname, a quick description of what the task is about, and the priority of the task(HIGH,MEDIUM,LOW).
- New Feature: Added the ability to filter a task by task category. (Pull requests #88).
- What it does: Allows the user to only display tasks of a particular task category.
- Justification: This feature improves the product significantly because a user can choose to display only tasks of a certain category, allowing the user to better focus on these tasks.
- New Feature: Added the tabpane and allowed tasklist to be displayed on the GUI. (Pull requests #62).
- What it does: Allows the user to toggle between both the tasklist and contactlist.
- Justification: This feature improves the product significantly because a user can have access to both the contactlist as well as the tasklist.
- Code contributed: RepoSense link
Bug Fixes:
- Display Email in assigned person in the taskcard: The person’s email is displayed after the person name, reflected in the taskcard component. (Pull requests #170).
- Justification: The contact list allows for two contacts to have the same name but no duplicate emails. Thus, to be able to tell two contacts with the same name apart, we provide additional information such as the email.
Tests:
- Commands Test: Writes test for FilterTaskCommand, FindTaskCommand, ListTaskCommand (Pull requests #159).
- What it does: Performs automated testing to check if the commands work as expected.
- Justification: This helps to eliminate bugs for task commands.
- Highlights: Increased code coverage by 6%.
- Sort Test: Writes test for SortByCategory, SortByDeadline, SortByPriority, SortByStatus (Pull requests #159).
- What it does: Performs automated testing to check if the sorting predicate is accurate.
- Justification: This helps to eliminate bugs for commands that uses this predicates.
- Highlights: Increased code coverage by 6%.
- Attributes Test: Writes test for Priority, TaskCategory, TaskDate, TaskDeadline,Task (Pull requests #177).
- What it does: Performs automated testing to check if the attributes are valid.
- Justification: This helps to ensure that invalid inputs for these attributes are handled appropriately, and that there will not be a case where a valid input is treated as an invalid input.
- Highlights: Increased code coverage by 6%.
Documentation:
- User Guide:
- Added documentation for the features
addTask
,deleteTask
,listTasks
,Glossary
,FAQ
,filter
,editTask
(Pull requests #13, #106, #178). - Fix the following bugs: (Pull requests #165).
- Issue 136: Inaccurate documentation for listTasks command.
- Issue 130: Clear command clears the address book, not the task list.
- Added documentation for the features
- Developer Guide:
Community: