/checktimer

Simple manual time tracking application

Primary LanguageScalaMIT LicenseMIT

Project icon checktimer Status Terrid GitHub Release

checktimer screenshot

Checktimer is a simple manual time tracking application. It allows the user to enter the current activity and saves all the activity to a CSV file (as configured).

Prerequisites

To run checktimer, install Java 21 or newer.

Run

  1. Download the package for your operating system from the Releases page.

    Note that there are two kinds of packages: JVM-dependent (with .jvm suffix) and JVM-independent (that bring their own JVM, without the .jvm suffix).

  2. Unpack the archive.

  3. If you have downloaded a JVM-dependent package, make sure the Java 21 instance is active (e.g., by running java --version and inspecting the output in the shell).

  4. For a JVM-dependent package, use checktimer-<version>/bin/checktimer or checktimer.bat script.

    For a JVM-independent package, use checktimer/checktimer.exe executable file.

The only command line argument is the path to the configuration file (see below). If no argument is provided, the application will try to read the configuration from ~/checktimer.cfg file, where ~ is a notation for your user's home directory (USERPROFILE on Windows, HOME on others).

For instructions on how to build and run the application from sources, see the Contributor Guide.

Configure

Here's the configuration file example:

database: "/home/user/checktimer.csv" # path to the data storage

Logging

Checktimer uses tinylog 2 logging framework. By default, it will write logs to <temp folder>/checktimer/ directory, and to the standard output. It is possible to override the logging parameters, see the logging documentation page for details.

Data File Format

The data file has CSV format of the following columns:

# Start datetime in ISO-8601 format,Duration,Project,Activity
2020-01-01T01:00:00.999Z,6:50:46,My Project,My current activity

Documentation

License

This project's licensing follows the REUSE specification v 3.0. Consult each file's headers and the REUSE specification for possible details.

Contribution Policy

By contributing to this repository, you agree that the MIT license will cover any new files you contribute. If you want to contribute a file under a different license, you should clearly mark it in the file's header, according to the REUSE specification.

You are welcome to explicitly state your copyright in the file's header as described in the contributor guide, but the project maintainers may do this for you as well.