nowo-tech / time-track-bundle
Symfony bundle for personal and team time tracking with browser extension and Tauri desktop agent APIs
Package info
github.com/nowo-tech/TimeTrackBundle
Type:symfony-bundle
pkg:composer/nowo-tech/time-track-bundle
Requires
- php: >=8.2 <8.6
- doctrine/doctrine-bundle: ^2.10 || ^3.0
- doctrine/orm: ^2.15 || ^3.0
- symfony/config: ^7.4 || ^8.0
- symfony/dependency-injection: ^7.4 || ^8.0
- symfony/framework-bundle: ^7.4 || ^8.0
- symfony/http-kernel: ^7.4 || ^8.0
- symfony/routing: ^7.4 || ^8.0
- symfony/security-bundle: ^7.4 || ^8.0
- symfony/translation: ^7.4 || ^8.0
- symfony/twig-bundle: ^7.4 || ^8.0
- symfony/validator: ^7.4 || ^8.0
- symfony/yaml: ^7.4 || ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^10.0
- rector/rector: ^2.0
- symfony/browser-kit: ^7.4 || ^8.0
- symfony/css-selector: ^7.4 || ^8.0
Suggests
- nowo-tech/task-board-bundle: Integrated task list, ACL, and team/manager context for time tracking.
This package is not auto-updated.
Last update: 2026-07-06 17:16:54 UTC
README
⭐ 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 (
Bearerauth) - Single active timer per user (409 on conflict)
- Teams and managers v1 via
TeamContextProviderInterface - Task integration via
TaskProviderInterface(designed fornowo-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
- Installation
- Configuration
- Usage
- Browser extension
- Desktop agent (Tauri) —
desktop/tray app - TaskBoard integration
- Contributing
- Changelog
- Upgrading
- Release process
- Security
- Engram
- Spec-driven development
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.