Portfolio · Noch nicht lizenzierbar
Signalbox
Verwaltung und Überwachung von Geräteflotten an wechselnden Standorten. Sie führt die Kartei eines Verleihbetriebs und meldet, wenn eine Station schweigt.
Meldekette, ohne fremden Zwischendienst
Der gestrichelte Zweig nach oben ist absichtlich einseitig: Stripe wird nur gelesen, damit der Umsatz je Station stimmt. Signalbox löst keine Zahlung aus.
Signalbox führt die Kartei eines Verleihbetriebs: welches Gerät wo steht, mit welcher SIM-Karte und welchem Zahlungsterminal, für welchen Zeitraum und auf welcher Veranstaltung.
Jede Station meldet ihren Verbindungszustand. Bleibt eine Meldung aus, geht eine Benachrichtigung aufs Handy, auch bei geschlossener App. Der Umsatz je Station kommt aus einer lesenden Stripe-Abfrage und steht getrennt als eingezogen und noch ausstehend.
Der Betrieb findet nicht am Schreibtisch statt, sondern zwischen den Stationen auf einem Festplatz. Deshalb ist die Oberfläche eine installierbare App, die auch ohne Netz den letzten bekannten Zustand zeigt und dazuschreibt, wie alt diese Angabe ist. Eine falsche Zahl ohne Zeitstempel wäre schlimmer als keine Zahl.
Was heute gegen einen fremden Einsatz spricht: Signalbox ist an einen Gerätetyp und einen Zahlungsweg gebunden, weil sie für genau diesen Betrieb gebaut wurde. Wer andere Stationen betreibt, kann sie heute nicht einsetzen. Die Loslösung davon ist der nächste Arbeitsschritt und die Voraussetzung für eine Lizenzfassung.
Heute im Einsatz
- Verbindungszustand, letzter Herzschlag und Füllstand jeder Station in Echtzeit
- Lageplan der Veranstaltung mit frei platzierbaren Statusfenstern am realen Standort
- Datenansicht für Auswertung ohne Kartenbezug
- Kartei aus Geräten, SIM-Karten und Zahlungsterminals samt Zuordnung
- Umsatz je Station: eingezogen gegen noch ausstehend
- Stationsplan mit vorgemerkten und festen Terminen, die sich nicht überschneiden können
- Ausfallmeldung als Push-Benachrichtigung aufs Handy
- Offlinebetrieb mit Altersangabe der Daten
Geplant
- Zugang für fremde Betreiber mit eigenen Stationen im selben Werkzeug
- Austauschbarer Gerätetyp, damit die Bindung an eine Stationsbauart entfällt
- Mietvariablen: Preis, Kaution, Höchstmietdauer
- Support-Bereich mit Ticketübersicht und einbettbarem Chat
- Eigener Hintergrunddienst statt Abfrage beim Hersteller-Backend
Technische Funktionsbeschreibung
Aufbau
FastAPI mit servergerenderten Jinja2-Vorlagen, SQLite als Ablage mit nummerierten Wanderungsschritten, ausgeliefert als systemd-Dienst hinter nginx. Kein Docker, kein Übersetzungsschritt, die Anwendung wird auf den Zielrechner gelegt und gestartet. Das ist eine bewusste Entscheidung: ein Werkzeug, das ein Betrieb selbst hosten können soll, darf keine Werkzeugkette voraussetzen, die er nicht pflegt.
Benachrichtigung
Web-Push ist nach RFC 8291 und RFC 8292 selbst ausgeschrieben statt über eine Fremdbibliothek eingebunden, Verschlüsselung des Nutzinhalts und VAPID-Signatur inbegriffen, bitgenau gegen die offiziellen Testvektoren der Spezifikation geprüft. Ergebnis ist eine Meldekette ohne fremden Zwischendienst.
Datenintegrität
Terminverschiebungen im Stationsplan laufen als Ganz-oder-gar-nicht-Vorgang: entweder alle betroffenen Buchungen wandern, oder keine. Überschneidungen sind auf Datenbankebene ausgeschlossen, nicht erst in der Oberfläche.
Schnittstellen
- Im Einsatz
- 11 Stationenseit August 2026
- Gerätebindung
- ein Stationstypheute nicht austauschbar
- Betriebsart
- App, offlinefähig
- Zahlungen
- Stripe, nur gelesen
- Prüfungen
- 754
- Oberfläche
- manage.kreis.systemsinterner Betrieb, kein öffentlicher Zugang
- Lizenzierbar
- noch nicht