Skip to content

Latest commit

 

History

History
131 lines (91 loc) · 7.06 KB

cheahzk.adoc

File metadata and controls

131 lines (91 loc) · 7.06 KB

Cheah Zhi Kang - Project Portfolio

PROJECT: Tasketch


Overview

Tasketch is an application that helps you to manage your everyday time by giving you an overview of all the time planned for all the tasks in a daily manner. It also helps you to be aware of all the tasks dateline too.

Summary of contributions

  • Major enhancement: added Daily Time Planner

    • What it does: Keeping track of all the time planned for all the daily tasks added and the showtime command allows the user to see the time planned for different categories for all the days or for a specific day.

    • Justification: This feature allowing the user to plan the daily time by planning tasks of certain categories after seeing how much time has been planned for that category on that day.

    • Highlights: This enhancement works with existing delete, edit and clear command. This feature greatly depends on the tasks information. Getting the right data from the tasks added is important.

  • Minor enhancement: added restriction and checks on the add command to ensure no invalid data being entered into the Tasketch, as well as ensuring the Daily Time Planner works correctly after the command being parsed.

  • Code contributed: [Daily Time Planner code][Date and Time Check code][Morphing to Tasketch code][RepoSense]

  • Other contributions:

    • Project management:

      • Managed releases v1.2 on GitHub

      • Created milestones for Tasketch version on Github

      • Setup issue trackers for Tasketch on Github

    • Enhancements to existing features:

      • Updated add command for Daily Time Planner (Pull requests #90, #98)

      • Added UI for Daily Time Planner commands (Pull requests #116)

    • Documentation:

      • Did cosmetic tweaks and added more content to existing contents of the User Guide, Developer Guide and ReadMe ( #110, #111)

    • Community:

      • PRs reviewed (with non-trivial review comments): #38

Contributions to the User Guide

Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users.

Daily Time Planner

This feature will help you to monitor the time planned for different tasks in a day. By looking at the time spent on different tasks, it aims to help you to plan your time better so that you will not spend most time on specific type of a task.

Adding a task: add/a

To get started, you will need to add a task into Tasketch. The format is as below.

When you are adding a task, the app will ensure that there will be no duplicate names added. This is to ensure that there is no confusion in the task names.

Adding a task with the same start date and end date means that it is a daily task, will be monitored by the Daily Time Planner. Different dates means it is a long period task, thus will not be considered as daily task but can still be added.

The app will not able to verify the correctness for the number of days in different months, so you have to ensure that the date exists in that particular month. However, the app will able to differentiate the maximum number of days and months. This means that you will never be able to enter more than 31 days and more than 12 months in the start date and end date.
Should you enter different start date and end date, the app will ensure that your end date is after the start date.

As for start time and end time, the app is smart enough to inform you when you have entered invalid time, such as 24.00, as this is incorrect. You will not able to enter hours beyond 23 and minutes beyond 59. The app will also ensure that the end time is after start time too. This to ensure the time spent/duration calculation (end time - start time) will result correct values.

You will also need to specify the type of category of the task that you are adding for the Daily Time Planner to monitor your time effectively. There are only 5 valid categories. (The details about it can be found in [category].)

If any of the above is violated, the app will alert you that it is an invalid command with the corrected format shown to you.

Tip
A task can have any number of tags (including 0)

Format: add n/TASK_NAME sd/START_DATE st/START_TIME ed/END_DATE et/END_TIME d/DESCRIPTION c/CATEGORIES [t/TAG]…​

Examples:

  • add n/CS2113 task sd/13-03-19 st/12.00 ed/13-03-19 et/14.00 d/Talk about version control
    Adds a task named CS2113 task in the app. It starts at 12:00 on March 13rd, 2019 and it ends at 14:00 on the same day. The description for this task is to talk about version control.

  • add n/MA1101R tutorial sd/14-03-19 st/12.00 ed/14-03-19 et/14.00 d/Tutorial 8 c/a
    Adds a task named MA1101R tutorial. It starts at 12:00 on March 14th, 2019 and ends at 14:00 on the same day. Its description is tutorial and it category is academic.

  • add n/CS3235 lecture sd/13-03-19 st/08.00 ed/14-03-19 et/10.00 d/Talk about network security t/important
    Adds a task named CS3235 lecture. It starts at 8:00 on March 13rd, 2019 and ends at 10:00 on March 14th, 2019. Its description is to talk about network security. The tag for it is 'important'.

Result:
You should see the task added into the task list on the left of the app.
The time duration on that task will be calculated at the back and the time should be reflected in the day list on the right of the app.

Showing time planned for all task categories : showtime

To help you to plan and make full use of your daily time better, simply use this command to see all the time planned on all 5 categories for every day.

Showing all the days

If you want to the time planned for everyday, just use this command.

Format: showtime

Result:
You should see a list of days with all the category times on the right side of the app.

Showing a particular day

If you want to see only one specific day, simply add the date that you wish to see behind the command.

Format: showtime DATE

Result:
You should see a day of your choice with all the category times on the right side of the app, if the date exists.

Contributions to the Developer Guide

Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project.

{Adding}