Blaue Bohne Barrel Tracker

GitHub-Repository ansehen

Das ist ein laufendes Freelance-Projekt für das Berliner Kleinunternehmen Blaue Bohne Rösterei. Sie suchten eine Möglichkeit, ihre Pfandfässer zu verfolgen. Ihr System sieht vor, bei jeder ausgehenden Bestellung ein Pfand pro Fass zu berechnen. Der Lieferdienst holt leere Fässer bei den Lieferungen wieder ein und lagert sie, bis genug für eine Palette zusammenkommen - dann kommen sie gesammelt zurück. Wenn ein Fass beschädigt ist und der Fahrer das nicht notiert, ist kaum nachvollziehbar, wer den Schaden verursacht hat und bei wem das Pfand geltend gemacht werden kann.

Ich habe mit MERN-Stack-Technologien eine Progressive Web App mit QR-Scanner gebaut. Die Kundin wollte keine komplizierte Authentifizierung, deshalb haben wir uns für eine vierstellige PIN entschieden. Sie sollte möglichst selten eingegeben werden müssen, also habe ich Refresh-/Access-Token-Logik umgesetzt, damit die Sitzung sicher bleibt, ohne unnötig neu anzumelden.

Screenshot des PIN-Formulars im Dark Mode

Jedes Fass wird gescannt, bevor es rausgeht, und Rechnung sowie Kundendaten werden gespeichert. Beim Rücklauf wird erneut gescannt. Die Fassnummer lässt sich auch manuell eingeben.

Screenshots des Kamerascanners, der manuellen Fasseingabe und des Formulars zum Ausbuchen eines Fasses.

Bei Beschädigungen kann die Mitarbeiterin oder der Mitarbeiter einen "Report" einreichen: Notizen und Fotos (Upload zu Cloudinary), die per E-Mail (Nodemailer) an die Geschäftsinhaberin gehen. Ist ein Fass zu stark beschädigt für den weiteren Umlauf, wird es als "damaged" markiert und der Kundin oder dem Kunden berechnet. Bei oberflächlichem Schaden kann es weiterverwendet werden, die Schadenshistorie bleibt aber gespeichert.

Screenshots des Rücknahmemenüs, der Anforderung einer Schadensprüfung und der Ansicht der Prüfung.

Den aktuellen Zustand jedes Fasses sieht man in einer Liste im Fassverwaltungsmenü. Icons geben einen schnellen Überblick, und der Listeneintrag lässt sich öffnen, um mehr Details zu sehen:

Screenshots des Menüs zur Fassverwaltung

Aktuell können Fässer, offene Rechnungen und abgeschlossene Rechnungen direkt über das Verwaltungsmenü bearbeitet werden. Neue Fässer und Kundinnen und Kunden lassen sich ebenfalls über die Verwaltungsmenüs anlegen.

Mein Ziel ist, so lange CMS-Funktionen zu ergänzen, bis die Kundin mich nicht mehr direkt kontaktieren muss, wenn etwas falsch eingetragen wurde oder aktualisiert werden soll. Irgendwann werde ich die Fasshistorien vermutlich in eine eigene MongoDB-Collection auslagern, weil sie derzeit als Array direkt auf dem Fassdokument liegen. Das macht die App deutlich skalierbarer, wenn das Unternehmen wächst.