Kurz vorweg: Das hier ist kein Frappe-Projekt — vielleicht kann es aber
trotzdem jemand gebrauchen, deshalb stelle ich es hier rein.
Ich habe eine Zeiterfassung gebaut, die per Handgeste vor der Webcam läuft:
Tastenkürzel drücken, Geste zeigen, weiterarbeiten. Offene Hand startet, Faust
stoppt, Daumen hoch pausiert, ein oder zwei Finger wechseln zwischen zwei
Projekten. Gedacht für alle, die tagsüber ständig zwischen Kundenprojekten
springen und dabei regelmäßig vergessen, die Uhr umzustellen.
Technisch ist es eine Tauri-App (Rust-Kern, Vue 3 im Frontend), die
Handerkennung läuft lokal über MediaPipe im WASM, die Daten liegen in SQLite.
Rund 15 MB, macOS und Windows. Die Kamera läuft nur während der drei Sekunden
Erkennung, es wird kein Bild gespeichert oder übertragen — das war mir wichtig,
weil eine dauerhaft mitlaufende Webcam für mich nicht in Frage kam.
Für diese Runde vielleicht der interessante Teil: Abgerechnet wird bisher über
einen CSV-Export (Datum, Projekt, Von/Bis, Dauer als hh:mm:ss und als
Dezimalstunden, Pausen, je Projekt filterbar). Der nächste naheliegende Schritt
wäre eine Anbindung an ERPNext-Timesheets über die REST-API. Gebaut habe ich
sie bewusst noch nicht — ich weiß schlicht nicht, ob das jemand braucht oder ob
alle ohnehin direkt im Desk buchen.
Deshalb zwei Fragen an euch:
- Wie erfasst ihr Projektzeiten für die Abrechnung — direkt im ERPNext-Desk,
über eine App, oder gar nicht systematisch? - Wäre eine direkte Timesheet-Anbindung für euch nützlich, oder reicht CSV?
Code und Installationspakete liegen unter MIT auf GitHub:
Kleiner Hinweis für alle, die es ausprobieren: Die Pakete sind nicht signiert
(keine Apple Developer ID), macOS und Windows warnen deshalb beim ersten Start.
Unter macOS hilft Rechtsklick auf die App und dann „Öffnen".