TimelineTracker

Ein Open-Source-Tool zur automatischen Erfassung deiner PC-Aktivitäten und zur nahtlosen Zuweisung von Zeit auf deine Projekte.

Funktionen im Überblick

Automatische Zeiterfassung

TimelineTracker läuft im Hintergrund und zeichnet alle 5 Minuten das aktive Fenster auf. So geht keine Minute verloren.

Visuelle Timeline

Zwei parallele Timelines zeigen dir übersichtlich deine automatisch erfassten Aktivitäten und deine manuell zugewiesenen Zeitblöcke.

Manuelle Zuweisung per Drag & Drop

Ziehe einfach mit der Maus einen Zeitblock auf der manuellen Timeline auf, um Zeit zu buchen.

Flexible API-Anbindung

Verbinde den Tracker über eine simple JSON-Konfiguration mit deinem Projektmanagement-Tool (z.B. Redmine, Jira).

Flexible API-Anbindung

Verbinde den Tracker über eine simple JSON-Konfiguration mit deinem Projektmanagement-Tool (z.B. Redmine, Jira).

Open Source & Anpassbar

Der gesamte Quellcode ist auf GitHub verfügbar. Passe den Tracker an deine Bedürfnisse an oder hilf mit, ihn zu verbessern!

Getting Started in 3 Schritten

1

Downloaden

Lade den neuesten Installer für Windows von dieser Seite herunter..
2

Installieren

Führe die heruntergeladene .exe-Datei aus und folge den Anweisungen.
3

Konfigurieren

Passe die api_config.json an, um den Tracker mit deinem System zu verbinden.

Die JSON-Konfiguration verstehen

Damit TimelineTracker mit deinem Projektmanagement-Tool sprechen kann, musst du eine Konfigurationsdatei anpassen. Du findest sie nach dem ersten Start im Einstellungsmenü (⚙️) oder unter C:\Benutzer\DeinName\TimelineTracker\api_config.json.

Beispiel: api_config.json

{
  "api_base_url": "https://dein-system.com/",
  "api_headers": {
    "Content-Type": "application/json",
    "X-Redmine-API-Key": "DEIN_API_SCHLÜSSEL"
  },
  "endpoints": {
    "log_time": {
      "method": "POST",
      "path": "time_entries.json",
      "body": {
        "time_entry": {
          "issue_id": "{issue_id}",
          "hours": "{time_decimal}",
          "comments": "{comment}"
        }
      },
      "response_mapping": {
        "results_path": "time_entry",
        "id_field": "id"
      }
    },
    "search_issue": {
      "method": "GET",
      "path": "issues.json",
      "params": {
        "subject": "~{query}"
      },
      "response_mapping": {
        "results_path": "issues",
        "display_field": "subject",
        "id_field": "id"
      }
    },
    "delete_time_entry": {
      "method": "DELETE",
      "path": "time_entries/{time_entry_id}.json"
    }
  }
}
api_base_url
Die Basis-URL deiner API, z.B. https://dein-system.de/.
api_headers
Ein Objekt, das alle notwendigen HTTP-Header für die Authentifizierung enthält. Hier trägst du z.B. deinen persönlichen API-Schlüssel ein.
endpoints
Hier werden die drei Kernfunktionen definiert: Zeit buchen (log_time), Aufgaben suchen (search_issue) und Zeitbuchungen löschen (delete_time_entry).
  • method: Die HTTP-Methode (GET, POST, DELETE).
  • path: Der Pfad, der an die api_base_url angehängt wird. Platzhalter wie {time_entry_id} werden automatisch ersetzt.
  • body: Die JSON-Struktur für POST-Requests. Platzhalter wie {issue_id}, {time_decimal} und {comment} werden vom Tracker gefüllt.
  • params: URL-Parameter für Requests. {query} wird durch deine Sucheingabe ersetzt.
  • response_mapping: Definiert, wie die Antwort der API gelesen wird.
  • results_path: Der Pfad zum Array mit den Suchergebnissen (z.B. issues) oder zum Objekt der Zeitbuchung.
  • display_field: Das Feld, das in der Suchergebnisliste angezeigt werden soll (z.B. subject).
  • id_field: Das Feld, das die eindeutige ID eines Objekts enthält (z.B. id).
Haben Sie Fragen oder ein konkretes Anliegen?
Jetzt kontakt aufnehmen