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/mentoring contributions

Contributions beyond the project team

Contributions to the User Guide (Extracts)

Finding Activities by Name: find

Usage: Users can request for a sub-list of activities that has names which contain any of the given keywords. If there are more than one keyword, each keyword should be separated with ` / `.

Format:

Filtering Activities by Tags: filter

Usage: Users can request for a sub-list of activities that has specific tags. Each tag should be space separated.

Format:

Chaining Finds & Filters: -s

Usage: Users can provide the find and filter command on the last shown list (also compatible after a list command) by providing the -s flag after each find or filter command.

Format:

Example:
If we want to find all CS2106 tutorials, we can first use filter 2106 to filter out all activities tagged 2106, then use the find command with the flag, find -s Tutorial to get a list of all 2106 Tutorials.

Single Input Chaining: ;

Usage: Users can achieve the same outcome as multiple -s chaining with a single input. This is done by separating find and filter commands with ` ; `.

Examples:

Note: -s is only relevant in the first command of the entire input string, as subsequent commands are automatically chained.

Contributions to the Developer Guide (Extracts)

2. Design

The section provides a high-level explanation of how the Jikan software is designed.

2.1 High-Level Architecture

The users interact with the Jikan software which modifies the local storage data file.

Within the Jikan software, there are 5 main components:

3.8 Find & Filter Features

Find Feature

This command accepts keyword(s) and searches either the entire activity list or the last shown list for activities with names containing each keyword.

Filter Feature

This feature accepts space-separated keyword(s) to search either the entire list or the last shown list for activities with tags matching each keyword. The keywords should be an exact-match with the tag names.

3.8.1 Design Considerations

As the find and filter commands are important for the user to analyse and eventually graph time-spent on each activity. The user should be allowed to query for all useful combinations of activities in the activity list. This entails:

3.8.2a Current Implementation for Find

3.8.2b Current Implementation for Filter

3.8.4 Additional features

find and filter command supports the limiting of searches to activities in the last shown list. This is done in 2 ways: