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 beyond the project team

Contributions to the User Guide (extracts)

Listing activities: list

Usage: Displays a list of the completed activities.

Format: list TIME_PERIOD

Example:
list List all activities.
list month april Lists all activities in April.
list week or list weekly List all activities in the current week.
list day or list daily List all activities in the current day.
list 01/01/2020 or list 2020-01-01 List all activities on 1 Jan 2020.
list 01/01/2020 20/02/2020 List all activities than fall within 1 Jan 2020 and 20 Feb 2020.

Command Guide

Contributions to the Developer Guide (extracts)

3.2 Storage feature

The Storage class represents the back-end of Jikan, handling the creation, saving and loading of data. Jikan uses a .csv file to store its data, formatted in the following way:

entry-name, start-time, end-time, duration, tags

All tags are saved in the same cell, separated by a white space; this design decision was taken to make sure that each entry occupies the same number of cells regardless of each entry’s number of tags. The tags are then separately parsed when the data is loaded.

Each Storage objects contains the path to the data file (Storage.dataFilePath), the File object representing the data file (Storage.dataFile), and an activityList populated with the data from the data file (Storage.activityList). Storage optionally supports multiple data files at the same time, allowing implementation of features like multiple sessions and multiple user profiles.

Storage provides the following functions:

3.3 Storage handler

The StorageHandler class functions as a support to the main Storage class, allowing the Jikan application to manipulate the stored data file. Its main provided functions are:

3.6 List feature

This feature is used to list activities within a range specified by the user. If no parameter is passed to the list command, then all the stored activities will be displayed. By passing a single date, the command returns all activities within that date. By passing two dates, the command returns all activities that took place within the two dates. (for an activity to be included in the range, both its start and end time must be within the specified time range). The user can also provide a verbal command, such as day, week, or month, which will return all the activities for that day, week or month respectively. Additionally, the user can specify a specific week of month by including a date (e.g. list month 2020-03-01 returns all the activities in March 2020.)

3.6.1 Current implementation