# JVR Time Tracker

JVR Time Tracker is a standalone Windows project time tracker from JVR Software. It supports timers, manual entries, billing rates, daily and weekly reports, CSV/PDF exports, SQLite backups, and optional Windows right-click timer integration.

## Requirements

- Windows 10 or Windows 11, x64.
- No separate Python installation is required.
- The application stores its data locally. It does not include customer records or demonstration billing data.

## Start

Run `JVR Time Tracker.exe`.

Create a project under **Projects**, select it in the timer bar, enter a category and optional notes, and start the timer. Only one timer can run at once. Its start time is saved immediately, allowing the application to recover the running timer after it is reopened.

Manual entries can be added, edited, or deleted under **Time entries**. Reports can be filtered by date, project, category, and billable status, then exported to CSV or PDF.

## Windows integration

Run `Install-WindowsIntegration.cmd` to install the application for the current Windows user. Administrator rights are not required. It:

- copies the application to `%LOCALAPPDATA%\Programs\JVR Time Tracker`;
- creates Desktop and Start Menu shortcuts;
- adds **Open time tracker**, **Start timer...**, and **Stop active timer** to the JVR Time Tracker right-click submenu for files, folders, and the desktop;
- preserves application data under `%LOCALAPPDATA%\JVR Software\JVR Time Tracker`.

On Windows 11, conventional per-user context-menu commands appear under **Show more options**.

Run `Remove-WindowsIntegration.cmd` to remove shortcuts, context-menu commands, and the installed executable. It preserves your time-tracking data. To remove data as well, run `Remove-WindowsIntegration.ps1 -RemoveData` and confirm the displayed phrase.

## Data and privacy

The default database is:

`%LOCALAPPDATA%\JVR Software\JVR Time Tracker\jvr_time_tracker.db`

Backups and exports are stored in `Backups` and `Exports` alongside the database unless you choose another destination. The public package contains no client records, time entries, billing entries, local database, backup, credentials, or seed manifest.

Set `JVR_TIME_TRACKER_DB` or use `--database PATH` only if you deliberately want an alternate database location.

## Backup and restore

Use **File > Back up database** or **Settings & data > Back up database**. Backups use SQLite's backup API.

Restore validates the selected database and creates a timestamped safety backup before replacing current data. A failed validation leaves the existing database unchanged.

## Idle settings

- `notify`: warn when the configured idle threshold is reached.
- `stop`: stop and save the active timer at the idle threshold.
- `ignore`: leave the timer unchanged.
- A threshold of `0` disables idle checks.

## Package contents

- `JVR Time Tracker.exe`
- `README.md`
- `Install-WindowsIntegration.cmd`
- `Install-WindowsIntegration.ps1`
- `Remove-WindowsIntegration.cmd`
- `Remove-WindowsIntegration.ps1`

## Publisher

JVR Software
