Skip to content

Repository files navigation

TimeReport

A lightweight desktop time-tracking app for logging work entries and exporting them as Markdown reports.

Built with Avalonia UI on .NET, TimeReport runs on Windows, Linux, and macOS, and stores all data locally in a SQLite database — no account, server, or network connection required.

Features

  • Log time entries with a description, project, start time, and end time
  • Browse entries within a day and jump between days
  • Export a date range to a formatted Markdown table
  • English and Swedish UI, switchable at runtime (Swedish is the default)
  • Optional compact view that hides the quick-action button row
  • All data stored locally in SQLite — nothing leaves your machine

Requirements

  • .NET 10 SDK (to build or run from source)
  • Windows, Linux, or macOS

Installation

Windows — download the latest installer from the Releases page and run it. It installs per-user, no admin rights required.

Linux / macOS — download the archive for your platform from the Releases page, extract it, and run the TimeReport binary.

Build from source — clone the repository and run:

dotnet run

Or publish a self-contained binary for a specific runtime:

dotnet publish TimeReport.csproj -c Release -r linux-x64 --self-contained true -o publish/linux-x64

Data storage

TimeReport stores its database and settings locally:

  • Windows: %APPDATA%\TimeReport\
  • Linux: ~/.config/TimeReport/

This includes TimeReport.db (SQLite database of time entries) and settings.json (language and UI preferences).

Packaging

Build packages locally on Linux:

./Build-Package.sh

Build only the Windows installer payload and NSIS installer:

PACKAGE_RIDS=win-x64 ./Build-Package.sh

The generated Windows installer is written to installer/TimeReport_<version>_win-x64_setup.exe and installs per-user under %LOCALAPPDATA%\TimeReport.

Release Automation

GitHub Actions builds the Windows installer automatically when a GitHub release is published, and it can also be run manually with workflow_dispatch.

Workflow file:

  • .github/workflows/release-windows-installer.yml

Optional Windows Code Signing

The release workflow, Build-Package.sh, and Build-Package.ps1 support optional Authenticode signing when these secrets or environment variables are configured:

  • WINDOWS_SIGN_PFX_BASE64: base64-encoded PFX certificate
  • WINDOWS_SIGN_PFX_PASSWORD: password for the PFX certificate
  • WINDOWS_SIGN_TIMESTAMP_URL: optional timestamp server URL, defaults to http://timestamp.digicert.com
  • WINDOWS_SIGN_URL: optional product URL embedded in the signature

For local Linux builds, install osslsigncode before enabling signing.

If the signing secrets are not configured, the workflow still builds and uploads an unsigned installer.

License

MIT — see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages