91 lines
4.7 KiB
Markdown
91 lines
4.7 KiB
Markdown
# erdbeerhannah
|
|
|
|
*Simple Rechner-App für Erdbeerstände (und ähnliche Verkausstellen)*
|
|
|
|
## Motivation
|
|
|
|
Viele Obst- und Gemüse-Verkaufsstände in Deutschland haben keine elektronische Kasse. Aufgrund der geringen Zahl unterschiedlicher Artikel bietet sich diese simple, offline-fähige Progressive Web App (PWA) an, die bis zu sechs verschiedene Artikel in unterschiedlicher Stückzahl summieren kann.
|
|
|
|
Über die Startseite (Landing Page) kann jeder Benutzer mit einem Klick und einem optionalen Passwort eine **eigene, geschützte Kassen-Instanz** erzeugen. Jede Kasse erhält dabei eine einzigartige, kryptische URL (UUID) und kann direkt im Browser konfiguriert werden.
|
|
|
|
Für jeden der bis zu sechs Artikel gibt es einen großen Knopf. Ein Klick addiert 1x den ausgewählten Artikel zur Gesamtsumme. Über ein Eingabefeld kann blitzschnell das Rückgeld berechnet werden.
|
|
|
|
Eine Demo-Instanz der App kann [hier](https://erdbeerhannah.elpatron.me/) zur freien Nutzung aufgerufen werden.
|
|
|
|
Die Nutzung ist werbefrei und dauerhaft kostenlos. Details siehe im Abschnitt *Privatsphäre*.
|
|
|
|
**Der Autor übernimmt keinerlei Haftung für Verfügbarkeit, Berechnungen und Richtigkeit der Rechenergebnisse.**
|
|
|
|
## Design
|
|
|
|
Die Web-App *erdbeerhannah* wurde für einfachste Bedienbarkeit auf allen Geräten (Notebook, Smartphone, Tablet) entwickelt. Die Bedienung ist intuitiv und erfordert keine Einarbeitung, das Design ist klar und farblich sinnvoll gestaltet.
|
|
|
|

|
|
*Darstellung im Webbrowser*
|
|
|
|

|
|
*Darstellung auf dem Smartphone*
|
|
|
|

|
|
*Darstellung auf dem iPad*
|
|
|
|
## Features & PWA
|
|
|
|
- **Multi-Instanzen:** Kassen-Ansichten arbeiten unabhängig voneinander, gesichert durch UUIDs und Sessions. Man kann bedenkenlos mehrere Kassen-Tabs für unterschiedliche Schicht-Mitarbeiter öffnen.
|
|
- **Teilen leicht gemacht:** URLs zu erstellten Kassen können per "Teilen"-Button dank Web Share API sofort auf Mobile-Geräten geteilt (WhatsApp, E-Mail) oder in die Zwischenablage kopiert werden. Die zuletzt genutzten Instanzen merkt sich der eigene Browser automatisch für einen Schellzugriff auf der Startseite.
|
|
- **Progressive Web App (PWA):** erdbeerhannah lässt sich über den Browser ("Zum Startbildschirm hinzufügen") als eigenständige, offline-fähige App auf Smartphones und Tablets installieren.
|
|
|
|
## Anpassung der Artikel und Preise (Admin-Setup)
|
|
|
|
Im Gegensatz zu klassischen Kassensystemen benötigt man hier keine Programmierkenntnisse mehr:
|
|
Direkt nach der Erstellung landet man im passwortgeschützten **Setup-Bereich** (`/<uuid>/admin`). Hier können folgende Werte für jeden der bis zu sechs Artikel dynamisch eingestellt werden:
|
|
* **Name** (z.B. "Himbeeren", "Spargel")
|
|
* **Preis** (z.B. 4.90)
|
|
* **Icon / Emoji** (z.B. 🍓, 🛍️)
|
|
* **Darstellungsfarbe / Bootstrap Klasse** (Primär/Blau, Danger/Rot, Success/Grün, Warning/Gelb, ...)
|
|
|
|
Diese Änderungen werden sofort in Echtzeit für diese spezifische Kasse in die integrierte SQLite-Datenbank übernommen. Es ist auch jederzeit möglich, ungebrauchte Kassen über den roten Lösch-Button unwiderruflich aus der Datenbank zu entfernen.
|
|
|
|
## Deployment
|
|
|
|
Die Bereitstellung der App erfolgt am einfachsten mit Docker:
|
|
|
|
`git clone https://gitea.elpatron.me/elpatron/erdbeerhannah.git`
|
|
|
|
`cd erdbeerhannah`
|
|
|
|
`docker image build -t erdbeerhannah:latest .`
|
|
|
|
Um die erstellten Kassen-Instanzen und deren Passwörter bei einem Neustart des Containers nicht zu verlieren, sollte für eine **persistente Datenspeicherung** die genutzte SQLite-Datenbank als Volume auf das Host-System gemountet werden:
|
|
|
|
```bash
|
|
# Vorab eine leere Datei anlegen, damit Docker fälschlicherweise kein Verzeichnis erstellt
|
|
touch kasse.db
|
|
|
|
# Container mit gemounteter Datenbank starten
|
|
docker run -p 9090:90 -v $(pwd)/kasse.db:/app/kasse.db -t erdbeerhannah:latest
|
|
```
|
|
|
|
## Privatsphäre
|
|
|
|
Die App *erdbeerhannah* protokolliert keine personenbezogenen Daten. Keine IP-Adressen und keine persönlichen Benutzer-Eingaben. Es werden keine Cookies genutzt. Zur reinen Nutzungsstatistik (Seitenaufrufe) verwenden wir das datenschutzfreundliche, Cookie-lose [Plausible Analytics](https://plausible.io/). Es gibt keine Werbung.
|
|
|
|
## Lizenz
|
|
|
|
```
|
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
|
Version 2, December 2004
|
|
|
|
Copyright (C) 2024 Markus Busche; Knorrstr. 16, 24106 Kiel, Germany
|
|
|
|
Everyone is permitted to copy and distribute verbatim or modified
|
|
copies of this license document, and changing it is allowed as long
|
|
as the name is changed.
|
|
|
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
|
|
0. You just DO WHAT THE FUCK YOU WANT TO.
|
|
```
|
|
|