Für wen das gedacht ist
Teams, die Branchensoftware für ein bestimmtes Gewerbe bauen
Agenturen, die viele Kleinbetriebe aus einer Plattform heraus bedienen
Produktteams, deren Wert in der Fachlichkeit liegt, nicht im Unterbau
Was wir lösen
Jedes Produkt braucht dasselbe Fundament: Konten, Anmeldung, Berechtigungen, Mandantenfähigkeit, Synchronisation, Freigaben, Abrechnung, Datenexport, Löschung und eine Admin-Konsole. Sie haben das schon gebaut. Sie bauen es für das nächste Produkt wieder, es sei denn, etwas anderes übernimmt es. Dort setzen wir an: UniCore liefert dieses Fundament, und Sie bauen Ihr Produkt darauf.
Was Sie bekommen
Eine Assembly, eine harte Grenze
Ein Plugin ist eine einzelne .NET-Assembly, die ausschließlich das SDK referenziert. Ein Compiler-Analyzer lässt den Build scheitern, sobald es in die Plattform-Interna greift. Damit bleibt Ihr Plugin konstruktionsbedingt trennbar und aktualisierbar.
Eine Admin-Konsole, die Sie nicht schreiben
Deklarieren Sie Einstellungs-, Sammlungs-, Kennzahlen- und Aktionspanels in Ihrem Manifest, und das Dashboard rendert sie inklusive Formularen, Tabellen und Auswahllisten für Fremdschlüssel. Ein Plugin enthält keinen Frontend-Code.
Ihr Datenmodell, von der Plattform verwaltet
Deklarieren Sie eine Domäne, und die Plattform legt sie an, mit Ihrem Plugin als Namensraum, sodass zwei Produkte niemals kollidieren. Schemaänderungen laufen über einen vorwärtsgerichteten Migrator, den Sie kontrollieren.
Eine veröffentlichte API mit aktueller Dokumentation
Schalten Sie die Domain-API ein, und die Plattform liefert OpenAPI, eine im Browser bedienbare Swagger-UI und typisiertes CRUD direkt aus Ihrem geladenen Plugin, optional mit anonymem Lesezugriff für öffentliche Seiten.
Abrechnung, Messung und Löschung als Fassaden
Deklarieren Sie Produkte, buchen Sie einmalig ab, legen Sie Abonnements an, erfassen Sie Nutzung an einem Zähler. Reagieren Sie auf die Löschereignisse der Plattform, statt Kontolöschung selbst zu implementieren.
Deployment ohne Neustart
Laden Sie die Assembly hoch, und sie wird auf jedem benötigten Host im laufenden Betrieb geladen, isoliert und in genau einer aktiven Version. Kein Rolling Restart, kein einzuplanendes Wartungsfenster.
So funktioniert es
Mit dem SDK beginnen
Referenzieren Sie das SDK-Paket und deklarieren Sie ein Manifest: Identität, Version, benötigte Hosts, Ihre Berechtigungen und Ihre Release-Notes.
Domäne deklarieren
Beschreiben Sie Ihre Definitionen und deren Felder. Die Plattform legt sie bei der Installation an und gibt Ihnen für alles Weitere einen Migrator.
Endpunkte schreiben
Definieren Sie Routen und hängen Sie an jede eine Berechtigung. Markieren Sie die öffentlich erreichbaren, und das Gateway veröffentlicht sie anonym.
Admin-Oberfläche deklarieren
Schreiben Sie Ihre Panels als Daten ins Manifest. Dieser Schritt kostet sonst mehrere Frontend-Sprints. Hier genügt eine einzelne Zeile Code.
In der CI verifizieren
Das SDK prüft Manifest, Includes und Assembly-Grenzen, bevor Sie etwas hochladen.
Installieren und übernehmen
Die Assembly wird nur einmal geladen. Jeder Mandant übernimmt das Plugin danach eigenständig, wobei das Plugin initiale Daten für ihn anlegen kann.
Was UniCore mitbringt und was Sie schreiben
Alles auf der linken Seite existiert bereits, ist getestet und wird von uns gepflegt. Alles auf der rechten Seite schreiben Sie.
Bringt UniCore mit
Mandantenfähige Konten und Mandantentrennung
Anmeldung mit E-Mail und Passwort
Anmeldung mit Google, Microsoft und Apple
Sitzungen und Sitzungserneuerung
Rollen, benannte Berechtigungen und Zugriff auf Datensatzebene
Freigaben und Gruppenmitgliedschaften
Ein schemaverwalteter Datenspeicher mit Migrationen
Hintergrund-Jobs
Nachrichtenaustausch zwischen Hosts
Echtzeit-Push an verbundene Clients
Benachrichtigungen per E-Mail, Telegram und Discord
Schaltflächen zum Genehmigen und Ablehnen in diesen Nachrichten
Produkte, Abonnements und Berechtigungsprüfungen
Nutzungserfassung
DSGVO-Löschung und Datenexport
Audit-Protokollierung
Eine aus Ihrem Manifest gerenderte Admin-Konsole
OpenAPI und Swagger für Ihre eigene API
Release-Notes für Ihre eigenen Versionen
Schreiben Sie
Ihr Fachmodell
Ihre Geschäftsregeln
Ihre Benutzeroberfläche
Bevor Sie fragen
Was fehlt im SDK noch?
Es gibt keine Datei- oder Blob-Fassade, Anhänge sind heute also Metadaten. Es gibt keine Schnittstelle für Dokumenten-Rendering, PDF-Erzeugung liegt daher bei Ihnen. Die Job-Schnittstelle hat keinen Zeitplan-Abschnitt, wiederkehrende Arbeit läuft deshalb über Ereignisse, Nachrichten oder auf Abruf. Und die Filtersprache für Abfragen ist zeichenkettenbasiert und kennt keine boolesche Gleichheit. Boolesche Bedingungen werden nach der Abfrage ausgewertet.
Kann ich ein Plugin ohne Ihren Quellcode ausliefern?
Ja. Das SDK ist ein Paket, und der Analyzer erzwingt die Grenze zur Bauzeit statt per Konvention. Ein Dritter kann ein Plugin bauen und ausliefern, ohne je den Plattform-Quellcode zu sehen.
Wie bedient ein Plugin viele Kunden?
Jeder Mandant übernimmt das Plugin eigenständig, und jeder Datenzugriff ist durch den Ausführungskontext des Hosts mandantengebunden. Sie schreiben keine Mandantenfilter und können folglich keinen vergessen.
Was passiert beim Upgrade?
Upgrades sind bewusste Entscheidungen. Eine neuere Assembly markiert beim Start nur ein ausstehendes Update; das Upgrade selbst läuft als Job, den Sie auslösen. Die Deinstallation ist ein Soft-Delete und behält die Daten. Vollständiges Löschen ist ein separater, unumkehrbarer Schritt, der manuell angestoßen werden muss.
Wo läuft das?
Auf Ihrer Infrastruktur. UniCore ist self-hosted: eine Compose-Datei, PostgreSQL oder SQL Server. Offline- und Air-Gap-Installationen werden unterstützt. Ein Managed-Hosting-Angebot gibt es heute nicht.
Sehen Sie es an Ihrem eigenen Fall
Dreißig Minuten, per Bildschirmfreigabe, mit Ihrer API oder Ihrer Produktidee auf dem Tisch. Ohne Foliensatz.