Projekt 02 — PKD

Vom Chip an der Reihe
bis zum Stundennachweis.

PKD ist die Mitarbeiter-Plattform eines Gemüsebaubetriebs: Zeiterfassung per NFC-Chip oder QR-Code direkt an der Gewächshausreihe, auch ohne Netz. Aus den Scans entstehen Arbeitszeiten, Workflow-Diagramme und Stundennachweise. Dazu kommen Teamchat mit Anrufen, Lernvideos in der Muttersprache, ein Paketzähler mit Kamera und AI sowie Firmenhandys im Kiosk-Modus. Server, Web-App, Android und iOS aus einer Hand.

Von Abbas Hoseiny· Web, Android, iOS· Proprietär

Ein Gartenbaubetrieb mit Saison- und Stammkräften aus mehreren Sprachräumen. Die Arbeit an den Reihen wurde auf Klemmbrettern dokumentiert, die Lohnsoftware hat keine Schnittstelle, und das WLAN reicht nicht in jede Ecke. PKD ersetzt die Zettel durch Scans am Chip an der Reihe und macht daraus, was Büro und Betriebsleitung brauchen: Arbeitszeiten, Stundennachweise und einen Überblick über den Arbeitstag.

Verwaltung von PKD am Desktop: Workflow-Diagramm eines Arbeitstags, links Personen, in der Mitte Tätigkeiten, rechts Abteilungen, verbunden durch farbige Bänder
Abb. 1 — der Arbeitstag als DiagrammMitarbeiter → Arbeitszeiten → Workflow

Jedes Band ist eine Person, jeder Knoten eine Tätigkeit, die Breite sind gebuchte Minuten. Wer hat wo was gemacht, wie lange, und was ist noch zu klären.

Workflow-Diagramm in der Reihen-Sicht: Personen, Tätigkeiten und die Reihen einer Abteilung mit Minuten und Uhrzeiten je Reihe
Abb. 2 — bis auf die ReiheEine Abteilung, Sicht „Reihen“

Je Reihe die Minuten, die Zeitfenster und wie oft dort an diesem Tag gearbeitet wurde. Sortiert nach dem ersten Scan, also von oben nach unten wie der Tag.

PKD-App am Handy, Bildschirm „Jetzt“: eingestempelt, laufende Tätigkeit mit Abteilung und Reihe
PKD-App, Bildschirm „Heute“: Arbeitszeit des Tages und die Liste der Scans mit Uhrzeit, Tätigkeit, Reihe und Dauer
PKD-App, Bereich „Lernen“: kurze Videos zu Ankommen, Arbeitstag, Reihe wechseln und Pausen
Abb. 3 — die App der MitarbeiterJetzt · Heute · Lernen

Drei Fragen: Bin ich eingestempelt, was läuft gerade, was habe ich heute gemacht. Chat, Fotos und Lernvideos sitzen in der Leiste unten.

PKD-App auf Ukrainisch: Bildschirm „Jetzt“ mit Anwesenheit und letzter Tätigkeit
PKD-App auf Polnisch: Bereich „Lernen“ mit den ersten Schritten
PKD-App auf Ukrainisch: Bildschirm „Heute“ mit Arbeitszeit und Scans
Abb. 4 — in der MutterspracheDeutsch, Polnisch, Ukrainisch, Rumänisch

Die Sprache hängt am Konto, nicht am Gerät: Oberfläche, Lernvideos und Mitteilungen.

Was die Plattform kann

Erfassen, auswerten, abstimmen.

Zeiterfassung am Chip
Kommen, Gehen und Tätigkeiten werden durch Scannen des NFC-Chips an der Reihe oder eines QR-Codes erfasst. Die Zeit setzt der Server. Ohne Netz wartet der Scan auf dem Gerät.
Workflow, Verlauf, Heute
Der Tag als Diagramm nach Abteilungen oder Reihen, Tage nebeneinander, Übergänge von gestern auf heute, und live: wer ist da, was läuft.
Stundennachweis und Lohn
Je Person ein Monatsblatt mit jedem Kalendertag. Jede Änderung braucht einen Kommentar. Freigabe, PDF, Excel, Abgleich mit der Lohnsoftware.
Teamchat und Anrufe
Einzel- und Gruppenchats, Sprachnachrichten, Dateien, Anrufe über das Internet. Ansprechpartner stehen oben: Chef, Teamleitung, Support.
Lernen in der Muttersprache
Kurze Videos zu den ersten Schritten und wichtigen Infos, in jeder Sprache der App.
Paketzähler mit Kamera
Eine Kamera über dem Förderband zählt Pakete, ordnet sie per AI nach Größe ein und markiert Defekte. Live, als Verlauf und als Bericht mit Fotos.
Standorte und Chips
Abteilungen und Reihen als Plan. An jeder Reihe hängt eine Karte mit NFC-Chip; die Chips lassen sich über die Verwaltung beschreiben.
Firmenhandys und Betrieb
Diensthandys im Kiosk-Modus, gestaffelte Updates, ein Konto je Handy. Dahinter ein Server mit täglicher Sicherung und einer Kopie bei einem zweiten Anbieter.
Abb. 5 — der PaketzählerBildschirmaufnahme, ohne Ton

Die Kamera erfasst das Förderband, ein Rechner vor Ort zählt und klassifiziert die Pakete, und der Server speichert die Ergebnisse. Die Aufnahmen bleiben als Beleg im Archiv und lassen sich nachträglich einordnen.

Paketzähler, Verlauf eines Monats: Kennzahlen, Balkendiagramm je Tag und Tabelle mit Gesamt, Groß, Klein und Defekt
Standortplan: Gewächshausreihen als Plan mit Abteilungen und Filter nach Scan-Punkt-Typ
Abb. 6 — Verlauf und PlanPaketzähler je Tag · Standortplan mit Chips je Reihe
Stundennachweis eines Monats für eine Person: je Kalendertag Status, Kommen, Gehen, Anwesend, Arbeitszeit, Tätigkeiten, Hinweise und Bemerkungen
Abb. 7 — das MonatsblattMitarbeiter → Arbeitszeiten → Stunden

Jeder Kalendertag eine Zeile. Markiert wird nur, was zu klären ist: ein fehlendes Gehen, ein Scan außerhalb des Üblichen, ein Nachtrag. Ein Wochenende ist kein Fehler.

Technik

Wie die Plattform gebaut ist

Ein Server als maßgebliche Datenquelle. Schlanke Clients auf Handys und Rechnern. Ein Datenmodell, das Scans nie umdeutet.

1. Ein Server, viele Geräte

Der Hub ist ein Go-Dienst mit PostgreSQL dahinter. Ein Caddy-Proxy liefert API und Frontend unter einer Domain aus. Der Zugriff von außen läuft ausschließlich über einen Tunnel.

Geräte
Android, iOS, Kiosk, Browser, Kamera-Rechner
  • Eine Web-App für Handy und Verwaltung
  • Native Hüllen: NFC, Push, Anrufe, Updates
  • Kiosk-App auf den Diensthandys
⇄HTTPS
eine Domain
Hub · Go
API, Auswertung, Push, Mail, Jobs
  • Rechte je Person und Bereich
  • Rechnet Arbeitszeit, Workflow, Stundennachweis
  • Push, E-Mails, Berichte, Lohnabgleich
⇄SQL
PostgreSQL
Eine Datenbank, eine Wahrheit
  • Alle Module in einer Datenbank
  • Tägliche Dumps, Kopie bei einem zweiten Anbieter

Verwaltung und Handy-App sind dieselbe Web-App. Die nativen App-Hüllen ergänzen Funktionen, die der Browser nicht bietet. Die Web-App wird einmal bereitgestellt und ist auf allen Plattformen verfügbar.

2. Das Scan-Modell

Ein Chip trägt keine Bedeutung, nur eine Kennung: den Slot. Was er bedeutet, steht in einer Definition mit Gültigkeitsbeginn. Jeder Scan ist ein unveränderliches Ereignis.

  1. Das Handy schickt Slot, Ereignis-Kennung und seine Uhrzeit. Die gültige Zeit setzt der Server.
  2. Der Hub schreibt das Ereignis mit Person, Slot, Definition, Zeit und Quelle.
  3. Die Dauer wird erst bei der Auswertung berechnet. Wird eine Reihe umgewidmet, bleiben alte Ereignisse richtig.
  4. Kommt derselbe Scan zweimal an, zählt er einmal.

3. Ohne Netz

WarteschlangeJeder Scan landet zuerst auf dem Gerät und gilt sofort als erledigt. Hochgeladen wird später, in der Reihenfolge der Scans.
ZeitenDer Server prüft die Uhrzeit des Geräts, begrenzt unplausible Zeitwerte und markiert sie zur Nachprüfung.
KaltstartDie App startet und scannt auch nach Tagen ohne Netz. Ein automatischer Test prüft das bei jeder Änderung.
KatalogTätigkeiten, Orte und Übersetzungen liegen auf dem Gerät. Die Verwaltung sieht je Gerät den Stand und die wartenden Scans.

4. Auswertung

Alles rechnet der Hub. Workflow, Verlauf, Stundennachweis und E-Mail-Berichte nutzen dieselben Funktionen.

WorkflowSankey-Layout über Personen, Tätigkeiten und Abteilungen oder Reihen. Details stehen am Knoten. Mehrere Tage stehen nebeneinander, nie in einem Bild.
VerlaufWo wurde eine Tätigkeit in einer Reihe beendet, und ging es dort weiter? Fortsetzung heißt dieselbe Reihe und dieselbe Tätigkeit.
StundennachweisArbeitstage aus Beschäftigungszeitraum oder Betriebsregel, Feiertage aus einer Tabelle. Jede Korrektur braucht einen Kommentar und bleibt sichtbar.
LohnsoftwareSie hat keine nutzbare Schnittstelle. Ein kleiner Rechner im Betriebsnetz liest ihre Datenbank und arbeitet Schreibaufträge des Hubs ab.

5. Chat, Anrufe, Lernen

ChatEinzel- und Gruppenchats, Lesebestätigung, Sprachnachrichten, Dateien. Anhänge liegen in einem Objektspeicher und werden auf Viren geprüft.
AnrufeSprachanrufe über WebRTC, verschlüsselt zwischen den Geräten. Scheitert die Direktverbindung, vermittelt ein eigener TURN-Relay.
PushAnrufe und wichtige Nachrichten wecken das Gerät. Fällt Push aus, erkennt die App Anrufe durch regelmäßige Abfragen.
LernenKurze Erklärvideos, je Sprache automatisch vertont.
MitteilungenMitteilungen zu Zeitkorrekturen gehen in der Sprache der betroffenen Person raus; ihre Antwort kommt übersetzt zurück. Eine AI-Assistentin kann anrufen und Rückfragen klären.

6. Geräte

Kiosk-ModusEine eigene Kiosk-App als Geräteverwalter: nur PKD und freigegebene Apps, Akku und Lautstärke überwacht, Updates gestaffelt.
Ein Konto je HandyDer Gerätewechsel erfolgt per QR-Code und meldet das alte Gerät ab. Ersatzbögen mit QR-Codes liegen bereit.
GeräteschlüsselJedes Gerät wird einmal gekoppelt und bekommt einen eigenen Schlüssel. Die Verwaltung kann es jederzeit sperren.

7. Betrieb

ContainerHub, Datenbank, Proxy, Objektspeicher, Virenscanner, TURN-Relay, Tunnel und Sicherung in einem Docker-Compose-Stack.
SicherungTäglich ein Datenbank-Dump auf dem Server und eine verschlüsselte Kopie bei einem zweiten Anbieter.
UmzugEin signierter Hinweis informiert die Apps über eine neue Serveradresse; die Geräte wechseln automatisch dorthin.

8. Steckbrief

RolleKonzept, Architektur, Umsetzung, Betrieb und Support
NutzerSaison- und Stammkräfte, Vorarbeiter, Büro, Betriebsleitung; Deutsch, Polnisch, Ukrainisch, Rumänisch
ServerGo, PostgreSQL, Caddy, Docker Compose, Tunnel, Objektspeicher, Virenscanner, TURN-Relay
FrontendAstro, TypeScript, Service Worker, d3-Sankey, PDF- und Excel-Export
AppsAndroid und iOS in nativer Hülle, eigene Kiosk-App; NFC-Chips an den Reihen, QR-Codes als Ersatz
ModuleZeiterfassung, Workflow, Verlauf, Stundennachweis, Lohnabgleich, Chat und Anrufe, Lernen, Paketzähler, Standorte, Control Check, Gewächshaus, Meldungen, Postfach, Datei-Explorer
CodeProprietär, nicht öffentlich