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.

Zur Website →

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.

Die Platzbuchung eines Mitglieds am Telefon: die Tagesansicht mit drei Plätzen von 8 bis 20 Uhr, belegte Zeiten ohne Namen, eine Wartung auf Platz 1 und eine rote Linie für die aktuelle Uhrzeit.
Belegte Zeiten zeigen keine Namen.
Dieselbe Tagesansicht im dunklen Modus: Plätze, Zeiten und Belegung unverändert auf dunklem Grund.
Derselbe Tag im dunklen Modus.
Die Kursverwaltung eines Vereins: sechs Kurse mit Status wie laufend, offen oder abgeschlossen, dazu Zeitraum, Ort, Teilnehmerzahl und Preis.
Kurse, Einschreibung und Anwesenheit — dasselbe Modul trägt auch eine Sprachschule.
Die Buchungsstatistik: die Auslastung je Platz als Balken und darunter die Anwesenheitsquote je Kurs.
Auslastung und Anwesenheit auf einer Seite.

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.

Referenzen

Vergleichbare Arbeiten aus denselben Leistungsbereichen.

Alle Referenzen →