Skip to content

Latest commit

 

History

History
191 lines (128 loc) · 7.21 KB

jingchen-z.adoc

File metadata and controls

191 lines (128 loc) · 7.21 KB

Zhang Jingchen - Project Portfolio

PROJECT: Tasketch


Overview

Tasketch is for those who need to manage their time by allocating time for each daily task. More importantly, Tasketch is optimized for those who prefer to use a desktop app and work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI).
This Project Portfolio is the enhancement and new added functionality I contributed to this software.

Summary of contributions

  • Main enhancement: Enhance visual feedback with timeline feature.

    • What it does: It arranges the tasks on a given day into a timeline according to their categories.

    • Justification: By visually showing the arranged timeline, this feature helps the user to better manage their tasks and decide on time allocation.

    • Highlights: Each category timeline will have their own color to be distinguished.

    • Credits: {Shibo’s idea is used on filtering the tasks according to date}

  • Other enhancement: Changed the find and history command that allows the user to easily locate a task and see history commands.

  • Code contributed: [Functional code] [Test code] {give links to collated code files}

  • Other contributions:

    • Project management:

      • The UI designer and the person in charge of group work coordination.

      • Managed releases v1.0 - v1.4 (2 releases) on GitHub

    • Enhancements to existing features:

      • Improved the GUI structure.

      • Updated the GUI arrangement and corresponding enhancing features (Pull requests #83, #91, #96)

      • Updated previous commands (Pull requests #51, #45)

    • Documentation:

    • Community:

      • PRs reviewed (with non-trivial review comments): #12, #32, #19, #42

      • Some parts of the history feature I added was referenced by several other class mates (1, 2)

      • My UI structure and design are referenced.

    • Tools:

      • Google is always the best friend. :)

      • Java, Javafx and IntelliJ.

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.

Update the project picture

The overview and screen shoot picture (available [picture]) == View calender & timeline

Set the calendar to desired month : month

Shows the desired month to the user. Noted that only previous month and next month will be shown.
e.g. Current month is April, then only March and May can be shown.

Tip
The feature for changing the background color of each day on the calendar will come in v2.0!

Format:

  • month +
    Changes the current calendar to next month.

    month plus
  • month -
    Changes the current calendar to previous month.

  • month
    Show current month’s calendar.

    month this

Shows the timeline of a specific day to the user : timeline

  • timeline
    Shows the timeline of today by default.

  • timeline [DATE]
    Shows the timeline of that date.

Note
After adding or editing a task, user needs to retype timeline [DATE] to refresh the timeline.
This implementation is to make sure this feature is not purely part of UI.

Examples:

  • timeline
    Shows the timeline for today.

    timeline today
  • timeline 01-04-19
    Shows the whole timeline for 1st April 2019.

    timeline date

Searching tasks by keywords: find/f

Finds tasks whose topic or description contain any of the given keywords.

Format: search KEYWORD [MORE_KEYWORDS] …​

  • The search is case insensitive. e.g Tutorial will match tutorial.

  • The order of the keywords does not matter. e.g. CS2113T tutorial will match tutorial CS2113T.

  • Only the description is searched.

  • Only full words will be matched e.g. tut will not match tutorial.

  • Tasks matching at least one keyword will be returned (i.e. OR search). e.g. CS2113T tutorial will return CS2113T lecture, CS3235 tutorial.

Examples:

  • find CS2113T
    Returns CS2113T lecture

  • f Lecture
    Returns CS2113T lecture and CS3235 lecture

Deleting a task : delete/d

Deletes the specified task from Tasketch.

Format: delete INDEX_NUMBER

  • Each tasks is identified by the index number shown in the task list.

  • Deletes the task with the index number.

Examples:

  • list
    delete 1
    Deletes the task with index number 1 in task list.

  • find cs2113t
    delete 1
    Deletes the task with index number 1 in task list.

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.

Effective Visualization feature

Current Implementation

There are mainly two parts in this features, calendar and timeline arrangement

These two parts will help the user better arrange their time usage by visualization of time.

  • There are currently two commands with parameters to help achieve this, month and timeline.

    • Implementation for Calendar: Using GridPane to separate the whole calendar area into 35 grids.

      • Each one of the 35 grids is filled with PaneNode which is defined as area for a day.

      • PaneNode extends AnchorPane.


  • Implementation for Timeline: Using javafx and segment each part of the browserPanel.

    • First, separate the whole browserPanel into 2 parts: upperPane and timelinePane.

    • Second, separate the upperPane into calendarPane and reminderPane.

    • The whole implementation of timeline is in timelinePane using javafx.

    • The overall structure is javafx VBox, which is a vertical arrangement structure.

    • Inside the VBox, there are key time points for interval of 2 hours. Then the timeline for each category.

PROJECT: PowerPointLabs


{Optionally, you may include other projects in your portfolio.}