nowo-tech/time-track-bundle

Symfony bundle for personal and team time tracking with browser extension and Tauri desktop agent APIs

Maintainers

Package info

github.com/nowo-tech/TimeTrackBundle

Type:symfony-bundle

pkg:composer/nowo-tech/time-track-bundle

Transparency log

Statistics

Installs: 1

Dependents: 1

Suggesters: 1

Stars: 0

Open Issues: 0

v1.0.0 2026-07-06 16:51 UTC

This package is not auto-updated.

Last update: 2026-07-06 17:16:54 UTC


README

CI Packagist Version Packagist Downloads License PHP Symfony GitHub stars Coverage

Found this useful? Give it a star on GitHub so more developers can find it.

Symfony bundle for personal and team time tracking: one active timer per user, task references via TaskBoardBundle, browser extension API, and Tauri desktop agent API.

Features

  • Web UI at /tools/time-track (timer + reports)
  • REST API for browser extension and Tauri desktop (Bearer auth)
  • Single active timer per user (409 on conflict)
  • Teams and managers v1 via TeamContextProviderInterface
  • Task integration via TaskProviderInterface (designed for nowo-tech/task-board-bundle)
  • Symfony events for timer start/stop and entry ACL

Installation

composer require nowo-tech/time-track-bundle
# config/packages/nowo_time_track.yaml
nowo_time_track:
    user_class: App\Entity\User
    clients:
        enabled: true

See Installation.

Demo

Integrated demo with TaskBoardBundle (kanban + timer):

make -C demo up-symfony8
# Demo started at: http://localhost:8024/tools/time-track
  • Timer UI: /tools/time-track
  • Task board: /tools/task-board
  • Login: demo@example.com / demo

With TaskBoard only, configure nowo_time_track.task_provider: nowo_task_board.task_provider — see TaskBoard integration.

Documentation

Tests and coverage

make test
make test-coverage
make release-check
  • PHP: 100% lines (justified exclusions: controllers, Doctrine repositories/listeners, integration interfaces)
  • TS/JS: N/A (desktop agent lives in desktop/, outside bundle PHP coverage)
  • Python: N/A

License

MIT — see LICENSE.