Zum Inhalt

Plattformarchitektur

Die technische Grundlage hinter jeder Flowtig-Anwendung.

Flowtig wurde als modulare Plattform entwickelt, auf der unabhängige Anwendungen eine gemeinsame technische Grundlage nutzen und gleichzeitig logisch voneinander getrennt bleiben.

Anstatt eine große monolithische Anwendung zu entwickeln, unterteilt Flowtig unterschiedliche Geschäftsbereiche in eigenständige Dienste, die über gemeinsame Konventionen und die zentrale Plattforminfrastruktur miteinander verbunden sind.

Dieses Dokument beschreibt die grundlegenden Architekturprinzipien der Plattform.


Plattformübersicht

Flowtig besteht aus vier wesentlichen Ebenen.

flowchart TB

    CLIENTS["Clients<br/>Web · Mobile · Desktop"]

    GATEWAY["Gateway<br/>Routing · Navigation · Authentifizierung"]

    CORE["Plattformkern<br/>Identitäten · Berechtigungen · Abrechnung · Mandanten"]

    APPS["Anwendungen<br/>Unabhängige Geschäftsbereiche"]

    TOOLS["Tools<br/>Spezialisierte Werkzeuge"]

    INFRA["Infrastruktur<br/>Container · Datenbanken · Objektspeicher · Hintergrundaufgaben"]

    CLIENTS --> GATEWAY
    GATEWAY --> CORE
    CORE --> APPS
    CORE --> TOOLS
    APPS --> INFRA
    TOOLS --> INFRA

Plattformkern

Jede Anwendung greift auf dieselben Plattformdienste zurück.

Zu den zentralen Aufgaben gehören:

  • Authentifizierung
  • Identitätsverwaltung
  • Mandantenverwaltung
  • Berechtigungen
  • Abonnements
  • Abrechnung

Anwendungen müssen diese Funktionen nicht selbst implementieren und können sich dadurch vollständig auf ihren jeweiligen Geschäftsbereich konzentrieren.


Anwendungen

Geschäftsfunktionen werden in unabhängige Anwendungen aufgeteilt.

Beispiele sind:

  • Kontakte
  • Arbeitszeit
  • Zeiterfassung
  • Rechnungen
  • Lager
  • Bautagebuch
  • Immobilien

Jede Anwendung:

  • verwaltet ihre eigene Geschäftslogik
  • definiert ihr eigenes Datenmodell
  • integriert sich über gemeinsame Plattformkonventionen
  • kann unabhängig weiterentwickelt werden

Tools

Nicht jede Funktion benötigt eine vollständige Geschäftsanwendung.

Flowtig bietet daher zusätzlich schlanke Tools, die gezielt einzelne technische oder geschäftliche Aufgaben lösen.

Beispiele sind:

  • Daywalker
  • IBAN Checker

Tools verwenden dieselbe Infrastruktur wie Anwendungen, bleiben dabei jedoch bewusst auf ihre jeweilige Aufgabe fokussiert.


Mandantenfähig von Grund auf

Die Trennung von Mandanten ist ein grundlegendes Architekturprinzip.

Jede Organisation arbeitet innerhalb ihres eigenen isolierten Datenbereichs.

Plattformweite Dienste wie Authentifizierung, Abonnements und Berechtigungen werden gemeinsam bereitgestellt, während Geschäftsdaten voneinander getrennt bleiben.

Zu den grundlegenden Prinzipien gehören:

  • Mandantentrennung
  • Explizite Berechtigungen
  • Rollenbasierter Zugriff
  • Gemeinsame Plattformdienste

API-Design

Flowtig stellt seine Funktionen hauptsächlich über GraphQL bereit.

REST-Endpunkte werden dort eingesetzt, wo sie für Infrastruktur, Administration und spezialisierte Arbeitsabläufe sinnvoll sind.

Die Plattform legt besonderen Wert auf:

  • Klare Verantwortlichkeiten für Schemas
  • Starke Typisierung
  • Vorhersehbare Schnittstellen
  • Stabile Schnittstellenverträge

Infrastruktur

Flowtig wurde für moderne Cloud-native-Bereitstellungen entwickelt.

Typische Komponenten der Plattform sind:

  • Docker-Container
  • PostgreSQL
  • Redis
  • Celery
  • Objektspeicher
  • CI/CD-Pipelines

Alle Anwendungen nutzen dieselbe technische Betriebsgrundlage und bleiben gleichzeitig unabhängig wartbar.


Designprinzipien

Mehrere grundlegende Architekturprinzipien bestimmen die Entwicklung von Flowtig.

Modularität

Anwendungen sollen unabhängig voneinander verständlich und wartbar bleiben.

Explizitheit

Das Verhalten der Plattform soll jederzeit vorhersehbar und transparent sein.

Skalierbarkeit

Neue Anwendungen sollen sich ohne grundlegende Änderungen an der Architektur integrieren lassen.

Konsistenz

Benutzer sollen innerhalb der gesamten Plattform dieselbe Navigation, dieselben Berechtigungsmodelle und einheitliche Arbeitsabläufe erleben.

Langfristige Wartbarkeit

Flowtig wurde dafür entwickelt, sich kontinuierlich weiterzuentwickeln und dabei eine klare Struktur zu bewahren.


Das Gesamtbild

Flowtig ist nicht einfach nur eine Sammlung von Anwendungen.

Es ist eine Plattform, die durch unabhängige Dienste wächst und dabei auf einer gemeinsamen Grundlage aufbaut.

Das Ziel ist einfach:

Mehr Funktionen, ohne mehr Komplexität.