Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fornever/checktimer

Simple manual time tracking application
https://github.com/fornever/checktimer

gtd time-tracking

Last synced: 12 days ago
JSON representation

Simple manual time tracking application

Awesome Lists containing this project

README

        

![Project icon][icons.checktimer] checktimer [![Status Terrid][status-terrid]][andivionian-status-classifier] [![GitHub Release][badge.release]][releases]
==========

![checktimer screenshot][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][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-/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][docs.contributing].

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 `/checktimer/` directory, and to the standard output. It is possible to override the logging parameters, see [the logging documentation page][docs.tinylog] for details.

Data File Format
----------------
The data file has CSV format of the following columns:
```csv
# Start datetime in ISO-8601 format,Duration,Project,Activity
2020-01-01T01:00:00.999Z,6:50:46,My Project,My current activity
```

Documentation
-------------
- [Changelog][docs.changelog]
- [Contributor Guide][docs.contributing]
- [Maintainer Guide][docs.maintainer-guide]

License
-------
This project's licensing follows the [REUSE specification v 3.0][reuse.spec]. 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][docs.contributing], but the project maintainers may do this for you as well.

[andivionian-status-classifier]: https://github.com/ForNeVeR/andivionian-status-classifier#status-terrid-
[badge.release]: https://img.shields.io/github/v/release/ForNeVeR/checktimer
[docs.changelog]: CHANGELOG.md
[docs.contributing]: CONTRIBUTING.md
[docs.maintainer-guide]: MAINTAINERSHIP.md
[docs.tinylog]: https://tinylog.org/v2/configuration/
[icons.checktimer]: src/main/resources/icons/checktimer.svg
[releases]: https://github.com/ForNeVeR/checktimer/releases
[reuse.spec]: https://reuse.software/spec/
[screenshot]: docs/screenshot.png
[status-terrid]: https://img.shields.io/badge/status-terrid-green.svg