Eigenes Produkt — Vereine, Schulen und Veranstaltungsorte
Joinovo — Verwaltung für Vereine, Schulen und Veranstaltungsorte
Aus einem Werkzeug für einen Tennisclub wurde eine Plattform, die auch Sprachschulen und Tanzstudios trägt. Möglich macht das nicht ein größerer Funktionsumfang, sondern eine Mandantengrenze, die überall gilt.
Die Aufgabe
Eine Verwaltungsplattform für Organisationen scheitert selten an einer Funktion und fast immer an der Grenze dazwischen: Eine Person gehört zu mehreren Organisationen, in jeder mit anderer Rolle, und keine davon darf je die Daten einer anderen sehen. Dazu kommt, dass ein Tennisclub und eine Sprachschule dieselben Bausteine brauchen und ein anderes Vokabular.
Die Lösung
Jede Organisation bekommt eine eigene Subdomain; der Mandant wird schon im nginx aus dem Host gelesen und als Header weitergereicht, sodass keine Route ihn tragen muss. Zugehörigkeit ist eine eigene Tabelle mit Rolle pro Organisation, und die Module schaltet jeder Mandant einzeln.
Das Ergebnis
Dieselbe Anwendung trägt Sportvereine, Sprachschulen und Tanzstudios, ohne für jede Gattung eine eigene Fassung zu werden.
Einblicke




Der Unterschied zwischen einer Anwendung für einen Verein und einer Plattform für viele ist keine Frage der Funktionsliste. Er liegt darin, wo die Grenze zwischen zwei Organisationen gezogen ist und wie oft jemand sie ziehen muss. Wird sie in jeder Abfrage neu gezogen, ist sie irgendwann irgendwo vergessen — und das ist der eine Fehler, den eine solche Plattform nicht machen darf.
In Joinovo liegt sie deshalb vor der Anwendung. Jede Organisation hat eine eigene Subdomain, der Mandant wird bereits im Webserver aus dem Host gelesen und als Header weitergegeben, und die Routen sind darauf eingeschränkt. Kein Pfad trägt eine Organisationskennung, also kann auch keiner sie verlieren. Zugehörigkeit ist eine eigene Tabelle: eine Person, mehrere Organisationen, je eine Rolle — statt eines Kontos pro Verein.
Darauf aufbauend ist der Funktionsumfang pro Mandant schaltbar, und genau das hat die Plattform über ihre Herkunft hinausgetragen. Begonnen hat sie als Werkzeug für Verbrauch und Zahlung in einem Tennisclub; heute laufen darauf ebenso Kursanmeldung, Terminplanung und Anwesenheit einer Sprachschule. Mitgliedsausweise und Besuche werden als QR-Code gescannt, die Abrechnung läuft im Hintergrund weiter.