Hilfstool für unser Repaircafe (Registrierung, Doc-Creation, Taskboard, Übersicht, Wartezeit)
Dies ist eine Sammlung um eine webbasierte Hilfe für unser Repaircafe anzubieten.
Das Tool läuft auf einem Raspberry-Pi als Server und bietet folgende Dinge an:
- Webbasierte Registrierung von Kunden und Reparatur-Gegenständen
- Übertragung der Daten in ein Libreoffice-Document, das wird automatisch durch den Server ausgedruckt ( wir sind noch nicht ganz fertig mit der Digitalisierung ...)
- Übetragung der Daten in ein Kanban-Board um die Warteschlange, die Reparaturen und den Fortschritt zu visiualisieren
- Übertragung der Daten in eine Datenbank um sie weiter auszuwerten und gesammelt an den Konsumentenschutz zu übertragen (noch nicht, derzeit ist das Kanban-Board die Datenbank...
- Auswertung der Daten und Anzeige in einer Übersicht
- mehr später, Ideen gibt es noch genug...
Mit diesem Dashboard im Eingangsbereich werden die potentiellen Kunden "begrüsst", so dass sie schon abschätzen können, wie lange sie nach der Registrierung warten müssen, bzw. Kaffee und Kuchen geniessen dürfen
Wenn sie die geschätzte Wartezeit nicht abschreckt, können sie sich dann selbst an einem unserer (bis zu 4, je nach Andrang...) Registrierungs-Laptops registrieren.
Natürlich helfen wir bei diesem Schritt auch weiterhin mit mehreren Helfern im Eingangsbereich.
Wir haben doch oft auch ältere Kunden und Kundinnen.
Beim Abschicken des Formulars wird das Dokument automatisch ausgedruckt und es landet als "Story" in unserem Kanban-Board. Die Gäste müssen dann noch beim "Empfang" vorbei, dort unterschreiben sie die Haftungs-Begrenzung und bekommen einen Pager mit Ihrer Nummer.
So sieht das Formular dann aus dem Drucker aus:
Das Kanban-Board wird (noch) vom Empfang gesteuert. Bei der Selbst-Registrierung durch die Gäste landen die neu registrierten Gegenstände in der Spalte Neu/Kein Kunde und erst nach der Unterschrift zur Haftungs-Begrenzung und der Ausgabe des Pagers wird die Karte in die Spalte Wartend verschoben.
Ab diesem Moment wird die Karte/der Gegenstand dann auch mit in die Berechnung der Wartezeit auf dem Dashboard einbezogen.
Das gleiche Kanbanboard wird in den Reparier-Räumlichkeiten dann auch per Beamer oder zusätzlichen Monitoren den Reparateuren gezeigt, so dass diese wiederum sehen können:
- Wie gross die Schlange am Empfang / im Cafe ist.
- Was als nächstes in "der Queue" ist und vielleicht schon bestimmtes Know-How, das sie haben, nach vorne melden können.
Technologisch wird dazu benutzt:
- Raspberry Pi als Server
- Python, Flask, Bootstrap
- bootstrap-flask Eine Kombination mit templates , Nachfolger von flask-bootstrap. Die Demo-App wurde als Basis verwendet.
- Kanboard (eine Open Source Kanban-Board Implementierung mit Rest/Python-API
- odfdo um ein Open/Libreoffice-Document zu "patchen"
(Ziel ist es, das alles in ein docker-compose zu packen, momentan ist das nur für das Kanban-Board der Fall, das Python-Programm muss noch von Hand installiert werden)
- Starten des Kanbanboards : docker-compose / docker compose im Unterverzeichnis kanboard
docker compose -f kanboard/docker-compose.yml up -d - Anlegen eines Projektes und Export des API-Keys
- Übertragen der Daten in Umgebungs-Variablen/.env-File, siehe env-template , bitte kopieren nach .env und mit den ermittelten Werten befüllen
- Virtual environment anlegen :
python -m venv venv(einmalig) - Virtual environment aktivieren :
source venv/bin/activate - Requirements installieren:
pip install -r requirements.txt(einmalig) - Flask-Server starten :
python app.py - Browser starten, folgende Routes werden darzeit unterstütztz:
localhost:8880: Kanban-Boardlocalhost: Eingabe-Formular für die Selbstregistrierunglocalhost/overview: das Übersichts-Dashboard für den Empfanglocalhost/config: Konfiguration der angestrebten Reparatur-Dauer und der Anzahl Reparierendenlocalhost/board: Nochmal das Kanbanboard, einfacher zu merken ...localhost/publicboard: Nochmal das Kanbanboard, allerdings read only ...localhost/toggle: Ein alternierendes Board zwischen Dashboard und read-only Kanban, für die Reparierenden ...
Die Installation geht davon aus, dass der Raspberry Pi Server für mehrere Dinge gleichzeitig zuständig ist
- Bereitstellng des Kanban-Boards
- Bereitstellung der repaircafe Web-App mit Formular, Übersicht, Fernsteuerung des Kanban-Boards etc
- Anzeige des Übersichts-Dashboards an einem angeschlossenen Monitor
Dazu gibt es ein paar autostart-Helper im Unterverzeichnis autostart , dort befindet sich eine Readme-Datei
- Basic: https://github.com/ritakurban/Kanban-Board
- Basic: https://github.com/kevinyang372/kanban_board
- Extended, Trello-artig : https://github.com/FLiotta/Tiquet : Outdated, 6 years old
- Extended: kan.bn , Trello- Artig : https://github.com/kanbn/kan , sieht gut aus, aber leider keine Nummern out of the Box.
- Extended: kaneo , Trello-Artig : https://github.com/usekaneo/kaneo , sieht noch besser aus, aber weder mit lite noch mit standard-config schnell zum Laufen gebracht..
- Extended: wekan, https://github.com/wekan/wekan/tree/main, versucht via snap, hat nicht funktioniert, konnte mich nicht einloggen.
- https://github.com/roemer/govoom
- https://doc.divoom-gz.com/web/#/12?page_id=219
- https://github.com/Roemer/govoom/wiki/Get-data-from-Home-Assistant
- https://pypi.org/project/pixoo/
- https://github.com/SomethingWithComputers/pixoo
- Two Forms/ Two Buttons : https://stackoverflow.com/questions/39738069/flask-bootstrap-with-two-forms-in-one-page
- Configuration of Kanboard : kanboard/kanboard#4894
- base64-encode a file : https://gist.github.com/juliensalinas/15789d241f28b1ce45f0c22e11ba894a
- Allow binding on port 80 for normal user : e.g. https://superuser.com/a/1482188
- Empfehlung : FAI : https://fai-project.org/FAIme/ als Basis-System, generiert einen One-Install-USB-Stick
- Aktuell genutzt : Debian Trixie
- Anschliessend auf dem installierten Laptop:
-
su -
-
Wifi firmware installieren , in my case :
- apt install firmware-iwlwifi
-
usermod -a -G sudo turbine
-
Keyboard auf Schweiz
-
Screensaver abschalten
-
Zeitzone Zuerich / Uhr stellen
-
autologin via:
- /etc/lightdm/lightdm.conf
-
Browser mit link auf Registrierpage automatisch starten
- $HOME/.config/autostart/xyz.Desktop ( verweist auf )
- $HOME/bin/browserstart mit : firefox --kiosk 192.168.8.88
-
- Neu / Kein Kunde
- Warteschlange
- In Arbeit
- Erledigt
(Sollte mal noch per Script automatisiert werden...)





