Project Portfolio Page (PPP)

Project overview

Jikan is a CLI time-tracker built in Java that aims to help manage tasks and projects. Users can set tags and goals for their entries, ultimately being able to keep track of what’s left to do and maintain an overview of how time was spent.

Summary of contributions

Code contributed

Link to tP Code Dashboard

Enhancements implemented

Contributions to documentation

Contributions to the DG

Contributions to team-based tasks

Review contributions

Contributions to the User Guide (extracts)

Usage

Jikan lets you record how much time you spend on various activities so that you can easily see what took up the most time today / this week / this month. (In the example below, we use the example of a student tracking his/her schoolwork, but Jikan can be used for more than just that!)

To start, record your first activity using the start ACTIVITY_NAME command.

Add some tags to your activities to group similar activities together using /t. Tags help you group activities of the same type together, in this example, we use the tags feature to label activities according to their module code. (Note that each activity can only store two tags at maximum.)

Add allocated time to your activities using /a. This allows users to set aside how much time they would like to spend on an activity and keep track on whether they are spending too much or too little time for that particular activity.

When you are done with the activity, or want to move onto something else, tell Jikan to end and the Activity time will be recorded and saved to your list.

You can view all your activities using the list command. Or view all your activities over a period of time by using list with extra parameters. For example list week will return a list of all activities this current week, as shown below.

list week

The list still looks very cluttered, we can reduce it further! Want to find everything you did for CS2113 this week? Filter out the activities you want to see using the find or filter command. This is our list after filtering out all our activities tagged as 2113. (the -s flag tells Jikan to search our last shown list, i.e. the list of activities this week in this case)

Continue command sequence diagram

To easily see what took up the most of your time out of all the 2113 activities, use the graph command to view a chart of your activities.

Continue command sequence diagram

Curious about what module took up the most time this week? We can use the graph tags command on our weekly activity list to find out.

Continue command sequence diagram

Evidently, it was CS2105.

Not done with an activity and want to continue on it? Use the continue command to continue recording time for a previously started activity.

Finally, when you’re done and want to close the app, simply say bye and Jikan will exit.

This is just a quick overview of what Jikan can do for you. For more details on each individual command, read the command guide below.

Starting an activity: start

Usage: Starts recording the time for a new activity.

Format: start ACTIVITY_NAME /a ALLOCATED_TIME /t TAGS

Example:
start assignment /a 01:30:00 /t CS1010
start GER1000 quiz /t GER GEmod
start revision

Continuing an activity: continue

Usage: Continues recording the time of an activity that you have previously started.

Format: continue ACTIVITY_NAME

Example:
continue revision

Ending an activity: end

Usage: Stops recording the time for an ongoing activity and stores it into the activity list.

Format: end

Aborting an activity: abort

Usage: Aborts the current activity and does not save it to the activity list.

Format: abort

Delete an activity: delete

Usage: Deletes an activity in the activity list.

Format: delete ACTIVITY_NAME

Contributions to the Developer Guide (extracts)

3.5 Continue Feature

The continue feature allows the user to continue a previously ended activity.

3.5.1 Current Implementation

(diagrams are omitted) Continuing an activity:

Ending a continued activity:

3.5.2 Design Considerations

Execution:

Although the current implementation of the continue feature disallows users to have multiple activities with the same name, we felt that the versatility of this choice outweighed the cons. Firstly because if the activityList got too big, it would be hard for the user to get the index of the task they wanted to continue. Also, the index would constantly be changing when changes are made to the list.

3.5.3 Additional Features

As users can only have activities with unique names, when a user wants to start an activity which already exists in the activityList, they will be given the option to continue the stated activity.

3.9 Graph Feature

This feature gives the user a visual representation of their activity duration and activity goals.
Graph can be used along with list, find and filter to sieve out the data to be graphed.

3.9.1 Current Implementation

(diagrams are omitted)

Graph targets
This displays the progress bar for the duration with respect to allocated time of activities in the lastShownList.

Graph tags
This displays a bar graph of the cumulative duration of the tags for each activity in the lastShownList. E.g. if 3 activities in the lastshownlist are tagged CS2113, the durations of these 3 activities are added up and associated with the tag CS2113 in the graph.

Graph activities
This displays a bar graph of the durations of each activity in the lastShownList.

3.9.2 Additional features

As graph gets it’s data based on the lastShownList, users can pair the graph command with find, filter, and list to sieve out the activities to be graphed.