Portfolio

Hallo, mein Name ist Nico Kowalczyk, und ich bin ein 30-jähriger IT-Spezialist mit einem Faible für Open-Source-Tools. Es ist mir ein Anliegen, anderen mit meinem Wissen zu helfen und sie zu inspirieren.

Self-Service-Portal Skilehrer

Ausweisbestellsystem mit 2 Low-Code-Plattformen

Problemstellung

Für einen der größten deutschen Dachverbände des Skisports habe ich ein Bestellsystem für Ausweiskarten erstellt. Dies wurde mit den Low-Code-Plattformen Appsmith und Directus erstellt. Die Ausweise haben eine Gültigkeit von drei Jahren und müssen danach erneuert werden. Dazu muss der jeweilige Skilehrer eine Fortbildung besuchen und danach einen neuen Ausweis beantragen. Die Ausweisbeantragungen werden zentral bei einer Person eingereicht, welche dann einmal im Jahr alle Ausweise bei einer Druckerei drucken lässt. Die Daten für die Ausweise werden in einer Excel-Liste gesammelt . Zusätzlich müssen die Bilder für die jeweiligen Ausweisbeantragungen mit dem richtigen Namensformat neben dieser Excelliste vorliegen.

Der Dachverband ist in verschiedene Unterverbände organisiert, welche die Ausweisdaten dann gesammelt an die eine Person weitergeben. In der Vergangenheit hat dies immer zu unsauberen Daten geführt, sodass ein erheblicher manueller Säuberungsaufwand entstanden ist. Dies soll nun durch ein digitales Bestellsystem für Ausweise verhindert werden.

Lösungsansatz

Als Lösung wurde eine Webanwendung entwickelt, die auf den beiden Low-Code-Plattformen Directus und Appsmith basiert. Es gibt drei verschiedene Rollen, die mit dem System interagieren können.

  1. Ausweisinhaber
  2. Landesverbandsverantwortliche
  3. Administratoren
Die Ausweisinhaber nutzen das System, um ihre Stammdaten zu pflegen, die für die Ausweisbestellung von Nöten sind. Das umfasst allgemeine Daten wie Name und Geburtsdatum, Anschrift und Kontodaten. Ebenso ist es den Ausweisinhabern möglich, die Nachweise für bestandene Fortbildungen hochzuladen und zu pflegen. Als letze Funktion steht dem Ausweisinhaber die Beantragung eines neuen Ausweises zur Verfügung.

Rollenverteilung

Jeder Ausweisinhaber ist einem Landesverband angehörig. Diese Landesverbände werden von mindestens einer Person in der Rolle "Verantwortlicher" betreut. Jeder Verantwortliche kann neue Ausweisinhaber in das System einladen. Außerdem ist es jedem Verantwortlichen möglich, Ausweisbeantragungen zu prüfen und gegebenenfalls abzulehnen. In manchen Landesverbänden ist es auch üblich, dass die jeweiligen Ausweisinhaber nicht selbst ihre Ausweise beantragen. Die Ausweise werden dann nach dem Lehrgang von der verantwortlichen Person direkt für alle Teilnehmer des Lehrgangs beantragt. Somit muss dies im System auch möglich sein.

Die Administratorenrolle kann im System bestimmen, welche Personen die Verantwortlichen für die jeweiligen Landesverbände sind. Außerdem ist der Administrator der einzige, der auch einen Druckauftrag erstellen kann. Ein solcher Druckauftrag sucht sich alle genehmigten Ausweise des Systems und die dazugehörigen Daten zusammen und erstellt ein Zip-Archiv mit allen notwendigen Daten im richtigen Format. Dieses kann dann einfach an die Druckerei weitergeleitet werden.

Technischer Aufbau (Low-Code)

Als Backend kommt Directus zum Einsatz. Mit Directus ist es möglich ein Rollensystem umzusetzen, wie es hier in diesem Fall gefordert ist. Es gibt drei verschiedene Rollen. Der Ausweisinhaber kann nur seine eigenen Daten einsehen und bearbeiten. Der Verantwortliche des Landesverbands kann nur die Daten aller Inhaber manipulieren, die auch zu seinem Landesverband zugeordnet sind. Lediglich der Administrator kann alle Daten einsehen und ändern.

Die Funktionen für die Verantwortlichen und für die Rolle des Administrators werden direkt in der Admin-Oberfläche von Directus zur Verfügung gestellt.

Directus übernimmt auch die Authentifizierung und die Authorisierung für das Gesamtsystem.

Für die Ausweisinhaber wird ein Self-Service-Portal mit Appsmith erstellt. Dies hat eine bessere Usability und ist einfacher zu verstehen, da nicht erst der Umgang mit der allgemeinen Directus-Admin-App gelernt werden muss.

Das Self-Service-Portal ist über eine Rest-Schnittstelle mit dem Directus Backend verbunden.

Technischer Aufbau

Über den SMTP-Server (hier wird ein einfacher Googlemail-Account verwendet) werden Statusinformationen versendet. Dazu zählt zum Beispiel eine Infomail, wenn ein Ausweis innerhalb der nächsten 6 Monate abläuft. Ebenso werden Verantwortliche über neue Prüfaufträge zu Ausweisbeantragungen informiert.

Die Verwendung des Systems setzt außerdem eine funktionierende Emailadresse aller Beteiligten voraus. Dies ist auch für die Authentifizierung notwendig, da die Email-Adresse erst bestätigt werden muss, bevor der Zugang freigeschaltet wird.

Admin-App

Die Admin-App besteht im wesentlichen aus übersichtlichen Tabellen für die Daten der Ausweisinhaber, die Ausweis (-beantragungen), Druckaufträge und Administrationseinstellungen. Im Hintergrund laufen einige Prozesse automatisch ab. Dies ist mit der Funktion Directus Flows umgesetzt.

Low-Code Admin App

Nachdem die Grundfunktionen von der Directus-Oberfläche erlernt sind, bietet sie etliche Funktionen, die das Bearbeiten größerer Datenmengen deutlich erleichtern. All diese Funktionen in einem Appsmith-Frontend nachzubauen, hätte viel Zeit in Anspruch genommen.

Self-Service-Portal

Das Self-Service-Portal ist mit der Low-Code-Plattform Appsmith umgesetzt. Die App wurde auf öffentlich gestellt und die Authentifizierung wird mit dem Directus-Backend durchgeführt. Sobald eine Session abgelaufen ist, wird der Benutzer wieder auf die Login-Seite weitergeleitet.

Der Funktionsumfang ist sehr übersichtlich, sodass die Handhabung für die Ausweisinhaber sehr einfach ist. Es gibt eine Übersichsseite, von wo aus in die einzelnen Bereiche des Systems abgesprungen werden kann.

Low-Code Self-Service Portal

Deployment und Kommunikation

Die Webapps von Appsmith und Directus sollen über das normale Internet erreichbar sein. Dazu wurde ein Server bei Contabo angemietet. Auf diesem ist eine Docker Engine installiert, sodass die Datenbank und die beiden Plattformen Directus und Appsmith ganz einfach als Container installiert werden können. Um die Sicherheit deutlich zu erhöhen, ist der Server vom Internet abgeschottet. Durch einen Cloudflare Tunnel wird eine Verbindung zu den Cloudflare Servern hergestellt, welche als Proxy für den Contabo-Server dienen.

Fazit

Durch die Kombination der beiden Low-Code Plattformen Directus und Appsmith ist ein vollwertiges und modernen Software-as-a-Service (SaaS)-Produkt entstanden, welches nun für alle Parteien eine einfache Handhabung der Ausweisbestellungen ermöglicht. Die Struktur der Daten ist so umgesetzt worden, dass es sehr einfach möglich ist neue Funktionen zu dem System hinzuzufügen. Zum Beispiel wurde noch im Laufe des Projekts ein Nachrichtensystem umgesetzt. Weiterhin denkbar wäre zum Beispiel die Erweiterung im die Lehrgangsplanung für Skilehrer.

Author

Nico Kowalczyk
Nico Kowalczyk
Hallo, mein Name ist Nico Kowalczyk, und ich bin ein 30-jähriger IT-Spezialist mit einem Faible für Open-Source-Tools. Es ist mir ein Anliegen, anderen mit meinem Wissen zu helfen und sie zu inspirieren.

Kommentare

Schreibe eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Lesefortschritt
Weitere Portfolioeinträge
Genutzte Tools

Cloudflare

IT-Security

Contabo

Contabo

Hosting

Appsmith

Appsmith (Open-Source)

Low-Code / No-Code

Directus

Directus (Open-Source)

Low-Code / No-Code

Teilen
Weitere Portfolioeinträge
Genutzte Tools

Cloudflare

IT-Security

Contabo

Contabo

Hosting

Appsmith

Appsmith (Open-Source)

Low-Code / No-Code

Directus

Directus (Open-Source)

Low-Code / No-Code

Teilen

Andere Beiträge