A-Z 100
Tools
 
 
AsciiKey
Birthday
IdleDetector
PCache
Pedate
TXTreload
Waittime
Werktag
Zeiterfassung
 
Pedants Zeiterfassung

Ein per Browser nutzbares Zeiterfassungssystem und Stempeluhr



Über das Tool
Seinen Ursprung hat mein Zeiterfassungssystem in einer Frage, die im Administrator-Forum gestellt wurde.
Dort war jemand auf der Suche nach einer einfachen (webbasierten) Stempeluhr mit Exportfunktion.
Angeregt durch diese Frage schrieb ich mein Zeiterfassungssystem, das der Anfrage Genüge tun sollte.
Hier ist der Thread zum Nachlesen zu finden:
https://administrator.de/forum/suche-einfache-webbasierte-stempeluhr-mit-exportfunktion-313637.html


Funktionsumfang
- Datenbank 'zeiterfassung' (Tabellen: users, rechte, zeiten, status)
- Stempeluhroberfläche (Touchscreen und Browser im Kioskmodus empfiehlt sich)
   (Direkt an der Stempeluhr könnte jeder für jeden stempeln, also ohne Benutzerauthentifizierung)
- Benutzerlogin für Browserzugriff aufs System
- Benutzerverwaltung
- Zugriffsrechte verwalten
- Zeiten editieren/löschen/hinzufügen
- Individuelle Zeitentabellen ausgeben
- Exportmodul (csv)
- Datenbankverwaltung (Backup/Restore)
- Ein winziges "phpMyAdmin"


Datenschutz, Arbeitsrecht und Zugriffssicherheit
Das Zeiterfassungssystem ist weder in Bezug auf Datenschutz noch auf Arbeitsrecht geprüft.
Auch was die Zugriffssicherheit angeht, wird es Mängel haben.
Ich habe an diversen Stellen Abfragen eingebaut, die dafür sorgen sollen, dass Mitarbeiter an der Stempeluhr oder im Browser nur machen können, was man ihnen rechtemäßig zugestanden hat.
Das System ist aber ganz sicher nicht wasserdicht. Es wird noch einige Schlupflöcher geben, die Manipulation oder Sabotage zulassen.
Gedacht ist es als Zeiterfassung für einen kleineren Betrieb, in dem Vertrauenswürdigkeit vorausgesetzt werden darf.
Wie performant und stabil das System mit großen Datenmengen und parallelen Zugriffen laufen würde, habe ich nicht ausprobiert.


Lieferumfang
Der Download enthält alle Dateien und Skripte, die benötigt werden um das Zeiterfassungssystem auf einem vorhandenen Web- und Datenbankserver zu installieren.
Er enthält eine Beispieldatenbank zum Testen und eine "leere" Datenbank um den Regelbetrieb zu beginnen.
Die beiden Datenbanken-Varianten liegen zum Import als SQL-Dateien im Unterordner "sicherungen" bereit.

In jeder enthaltenen php-Datei habe ich oben einen Kommentar abgelegt, der Aufschluss geben soll, wozu die jeweilige Datei gedacht ist, ansonsten sind diverse Abschnitte in den Skripten auch noch kommentiert, aber nicht vollständig dokumentiert.


Systemvoraussetzung
Benötigt wird ein Webserver (Windows oder Linux) mit installiertem MySQL und PHP.
Der Webserver sollte vorzugsweise ein eigener Webserver im lokalen Netzwerk sein.
Wer einen öffentlich zugänglichen Webserver verwenden möchte, sollte sich Klarheit über vorhandene Sicherheitsrisiken verschaffen.

Das Zeiterfassungssystem basiert auf php und MySQL.
Was die Mindestversionen sind, weiß ich nicht.
Auf meinem Rechner läuft es mit:
- Apache 2.4.25
- MySQL 5.7.17.0-community
- PHP 7.1.3 mit aktiviertem PDO-Treiber
Bei PHP muss der PDO-Treiber aktiviert sein, um die Verbindung zur MySQL-Datenbank herzustellen.
Wahrscheinlich werden auch ältere und neuere Versionen unterstützt, solange PDO genutzt werden kann.


Installation
1. Webserver bereithalten (siehe Systemvoraussetzungen)
2. Web-Ordner downloaden und entpacken (siehe Download)
3. Eine der beiden Datenbanken importieren (SQL-Dateien im Unterordner "sicherungen"
4. connect.php im Unterordner "common" - dort Datenbank-Zugriffsdaten anpassen
5. config.php im Unterordner "common" - dort $hauptordnerwebpfad gegebenenfalls anpassen
6.Startseite aufrufen und mit admin / geheim anmelden
7. Ausprobieren was so alles geht
Bei einem Webserver der unter Windows läuft, sollten im Unterordner "tool" die beiden Dateien "mysql.exe" und "mysqldump.exe" ersetzt werden, durch die Dateien, die auf dem Server installiert sind.
Mit allen weiteren Einstellungen in der Datei "config.php" sollte man sich befassen, wenn man sich mit dem System etwas vertraut gemacht hat.


Demosystem
Auf meinem öffentlichen Webserver läuft eine Instanz des Zeiterfassungssystems, die zum Anschau und Ausprobieren gedacht ist.
http://zeiterfassung.pedant.de
Diese Webseite hat einen generellen Zugriffsschutz und fordert zum Eingeben von Logindaten auf.
Diese Logindaten lauten:
Benutzername: zeiterfassung
Passwort    : tester23
Danach gelangt man zur eigentlichen Login-Seite des Zeiterfassungssystem.
Dort ist die Beispieldatenbank aktiv, die auch im Download enthalten ist.
Diese Beispieldatenbank beinhaltet fünf angelegte Benutzer, mit denen man sich in die Zeiterfassung einloggen kann.
Sie haben diese Kombinationen aus Benutzername und Passwort
admin / geheim
brad  / brad
lena  / lena
fred  / fred
elise / elise
Die Privilegien dieser Beispielbenutzer sind in ihrer aufgeführten Reihenfolge abfallend.
Der Benutzer "admin" ist daher für einen ersten Überblick am geeignetsten.
Es kann natürlich sein, dass ein Tester Benutzer gelöscht, deren Rechte oder deren Logindaten geändert hat temporär geändert hat.
Jede Stunde, um 5 Minuten nach der vollen Stunde wird die Datenbank dieses Testsystems automatisch zurückgesetzt.
Spätestens dann sollte ein Login wieder möglich sein.


Lizenz
Dieses Zeiterfassungssystem ist Freeware und darf ohne Einschränkung benutzt werden.
Für die Benutzung und deren Folgen lehne ich jegliche Haftung ab.
Das Betrifft auch die Themen Datenschutz, Arbeitsrecht und Zugriffssicherheit.
Eine Onlineverbreitung per Download behalte ich mir als Recht vor.


Download
Das System befindet sich zurzeit in Umstellung und Revision und ist daher für Tester gedacht und noch nicht zur Anwendung im Alltag.
Siehe: Diskussionsthread auf Administrator.de
Download: Pedants Zeiterfassung (Version 2.0.3)
Der Download umfasst nur den Web-Ordner mit allen Skripten und der Datenbank.
Ein Webserver, MySQL und PHP muss separate heruntergeladen und installiert werden.


Fragen und Anmerkungen zu "Zeiterfassung" bitte per E-Mail schicken.