solidtime is an open-source time tracking application designed for freelancers and agencies. It provides a full-stack solution with a PHP backend (using a custom Laravel-like framework with strict typing) and a Vue 3 frontend served via Inertia.js. The system supports multi-tenant organizations with role-based permissions (Owner, Admin, Employee, Placeholder), project and task management, client and tag tracking, billable rates, goals, and detailed reporting with export to CSV, PDF, ODS, and XLSX. It also includes importers for Toggl, Clockify, Harvest, and generic CSV formats, as well as a native solidtime format. The architecture is a monolith with a RESTful API (versioned under /api/v1) and web controllers driven by Inertia.js. The backend uses a custom PHP framework that resembles Laravel but employs non-standard syntax (declare strict_types, use traits, fn closures). Key entry points include API controllers for time entries, projects, clients, tags, goals, reports, and import/export; console commands for administrative tasks, telemetry, and database consistency checks; and a Filament admin panel for CRUD operations. The frontend is built with Vue 3, Pinia stores, TanStack Query for caching, and a shared UI component library (packages/ui) that provides reusable primitives like dialogs, selects, calendars, and context menus. Data flows center around time entries, which are created via a timer or manual entry, associated with projects, tasks, clients, and tags, and aggregated for reporting and goal tracking. The system uses PostgreSQL as its primary database, with Redis for caching and queueing. External dependencies include a mail driver (Mailpit in dev), storage drivers (local/S3), and optional services like Gotenberg for PDF rendering and Paddle for subscriptions. The codebase is extensively tested with PHPUnit (unit/feature), Vitest (JS unit), and Playwright (E2E), and includes CI/CD pipelines for building, linting, and testing.
Kimai is a self-hosted, open-source time-tracking application built with PHP 8.3+ and Symfony 6/7. It provides a full-featured web interface and REST API for recording timesheets, managing projects/customers/activities, generating invoices, exporting data (PDF, XLSX, CSV, HTML), and producing reports. The architecture follows a classic Symfony monolith with Doctrine ORM, Twig templating, and Webpack Encore for frontend assets. It supports multi-user, multi-timezone, multi-language, LDAP/SAML authentication, two-factor authentication, and a plugin system via tagged services and compiler passes. The codebase is heavily event-driven, with over 70 domain events and subscribers, and includes a rich set of dashboard widgets, custom form types, and validation constraints. The repository is actively maintained with frequent commits, extensive test coverage (PHPUnit), and continuous integration pipelines.
This repository is a comprehensive curated knowledge base and reference directory focused on time tracking, productivity methodologies, and related tools. The dominant character is a flat collection of over 3000 markdown files under `details/`, each describing a specific software tool, productivity technique, author, or research finding in a structured format (overview, features, pricing, use cases). While primarily a reference resource, the repo also contains a few functional software components, including a Spring Boot + Vaadin reporting app for Toggl (toggl-reporter), a Django monorepo with REST API and Keycloak auth for time tracking (timed), a Home Assistant custom component (ha-toggl-track), and a Lua SDK (Qmonix). These are small reference implementations that demonstrate integration patterns. The repository serves as a one-stop guide for individuals and teams evaluating time tracking solutions, learning productivity methods, or building integrations. It cites numerous statistics and studies, but many entries are stale or incomplete (e.g., research stub pages with placeholder text). The code components are basic and not production-ready without further development.