Timer-App unter Versionsverwaltung stellen
Stand der laufenden Anwendung von 192.168.1.5:/opt/timer-app (systemd-Dienst timer-app, Port 3003). Zeiterfassung mit Kostenberechnung: Node/Express, SQLite, Anmeldung ausschliesslich ueber Authentik (OIDC, PKCE, RP-Logout) - der frueher vorhandene Passwort-Login ist entfernt. Nicht im Repo, bewusst: - backend/.env und die .env-Sicherung: enthalten Session-Secret und die Authentik-Zugangsdaten. Vorlage ist backend/.env.example. - data/: die Datenbank mit den echten Zeiterfassungen. - node_modules/. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
# Timer — Zeiterfassung
|
||||
|
||||
Zeiterfassung mit automatischer Kostenberechnung für den Einsatz im Laden.
|
||||
|
||||
> **Installation und Technik:** siehe [DEPLOY.md](DEPLOY.md).
|
||||
> Diese Datei ist die Kurzanleitung für die tägliche Bedienung.
|
||||
|
||||
---
|
||||
|
||||
## Anmelden
|
||||
|
||||
Seite im Browser öffnen, Passwort eingeben. Die Anmeldung gilt 24 Stunden und
|
||||
verlängert sich bei Benutzung — ein Tablet am Tresen muss also nicht täglich neu
|
||||
angemeldet werden.
|
||||
|
||||
## Timer starten
|
||||
|
||||
Oben optional einen Namen eintippen — zum Beispiel „Tisch 2", „Herr Müller" oder
|
||||
„Reparatur Werkbank" — und auf **▶ Neuer Timer** klicken.
|
||||
|
||||
Es können **beliebig viele Timer gleichzeitig** laufen, einer je Platz oder Kunde.
|
||||
Jeder bekommt eine eigene Karte mit Zeit und laufendem Betrag. Der Name lässt
|
||||
sich jederzeit nachträglich ändern, einfach im Feld überschreiben.
|
||||
|
||||
## Während der Timer läuft
|
||||
|
||||
| Knopf | Wirkung |
|
||||
|---|---|
|
||||
| **❚❚ Pause** | Zeit anhalten, Betrag friert ein |
|
||||
| **▶ Weiter** | pausierten Timer fortsetzen |
|
||||
| **✓ Beenden** | Vorgang abschließen und in der Historie speichern |
|
||||
| **✕ Verwerfen** | Timer wegwerfen, **nichts** wird gespeichert |
|
||||
|
||||
Vor dem Beenden und dem Verwerfen kommt eine Rückfrage mit Zeit und Betrag.
|
||||
|
||||
### Was passiert, wenn …
|
||||
|
||||
* **… der Browser geschlossen wird?** Nichts. Der Timer läuft auf dem Server
|
||||
weiter und ist beim nächsten Öffnen wieder da.
|
||||
* **… das Tablet neu startet?** Ebenfalls nichts — einfach wieder aufrufen.
|
||||
* **… ein Kollege am zweiten Gerät nachschaut?** Er sieht dieselben Timer live.
|
||||
* **… über Nacht vergessen wurde zu stoppen?** Der Timer zählt weiter, wie eine
|
||||
Wanduhr. Die Karte zeigt, seit wann er läuft. Wer die Zeit korrigieren will,
|
||||
verwirft den Timer und erfasst ihn neu.
|
||||
|
||||
## Historie
|
||||
|
||||
Unter **📊 Historie** stehen alle abgeschlossenen Vorgänge mit Datum, Name,
|
||||
Dauer und Betrag. Oben summieren drei Kacheln den gewählten Zeitraum.
|
||||
|
||||
* Filter nach **Von/Bis-Datum** und nach **Name**
|
||||
* Schnellauswahl **Heute** und **Dieser Monat**
|
||||
* **⬇ CSV-Export** lädt genau die gefilterte Auswahl herunter — die Datei lässt
|
||||
sich direkt in Excel öffnen, Umlaute und Beträge stimmen
|
||||
* Das **🗑**-Symbol löscht einen Eintrag endgültig (mit Rückfrage)
|
||||
|
||||
## Einstellungen
|
||||
|
||||
Unter **⚙️ Einstellungen** wird der Tarif festgelegt: Betrag und Intervall,
|
||||
zum Beispiel „10 € pro 10 Minuten". Die Vorschau rechnet Beispiele durch.
|
||||
|
||||
Wichtig zu wissen:
|
||||
|
||||
* **Jede angefangene Einheit wird voll berechnet.** 10 Minuten und 1 Sekunde
|
||||
kosten bei einem 10-Minuten-Takt bereits zwei Einheiten.
|
||||
* Der Tarif gilt für **alle Geräte gemeinsam**.
|
||||
* Eine Änderung wirkt sofort auf laufende und neue Timer. Bereits gespeicherte
|
||||
Einträge in der Historie behalten den Tarif, der beim Beenden galt.
|
||||
|
||||
## Abmelden
|
||||
|
||||
**🚪 Abmelden** meldet nur dieses Gerät ab. Laufende Timer bleiben davon
|
||||
unberührt und laufen weiter.
|
||||
Reference in New Issue
Block a user