Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Ricardo Henriques

Min Read

23. Februar 2024

Node.js Admin-Panels — Strapi und Express Admin überprüft

In letzter Zeit habe ich nach einer schnellen und einfachen Möglichkeit gesucht, ein Backoffice in JavaScript zu entwickeln, ohne alles von Grund auf neu schreiben zu müssen. Während meiner Recherche habe ich zwei großartige Optionen gefunden — Strapi und Express-Administrator.

Wenn wir sie uns im Voraus ansehen, können wir sehen, dass der Hauptunterschied in Bezug auf den Build-Stack darin besteht, dass die Strapi-Admin-Oberfläche mit React JS erstellt wurde. Jede Option verdient jedoch eine viel gründlichere Analyse, um ihre Besonderheiten kennenzulernen. Ich werde diese Gelegenheit nutzen, um auch einige Informationen darüber bereitzustellen, wie Sie die einzelnen Optionen konfigurieren und in kürzester Zeit zum Laufen bringen können.

blue arrow to the left
Imaginary Cloud logo

Express-Administrator

Express Admin UI (www.github.com/simov/express-admin)

Mit Express Admin können Sie eine Verbindung zu MySQL-, MariaDB-, SQLite- und PostgreSQL-Datenbanken herstellen. Beachten Sie jedoch, dass es sich um relationale Datenbanken handelt. Express Admin-Konfigurationen werden über manuell erstellte JSON-Dateien vorgenommen.

Seine Hauptmerkmale sind:
• SQL-Tabellenbeziehungen — Sie können alle Arten von Tabellenbeziehungen definieren;
• Internationalisierung ist möglich;
• Fähigkeit, benutzerdefinierte Ansichten und Ereignisse zu erstellen;
• Alle Arten von browserseitigen Bibliotheken und Steuerelementen;
• Erlaubt Themen (Bootswatch).

So bringen Sie Express Admin zum Laufen

Ich gehe davon aus, dass Sie sowohl Node.js als auch NPM bereits vorher installiert haben (ich würde auch hier die Verwendung von NVM vorschlagen):

Um das Modul zu erhalten

$ [sudo] npm install [-g] express-admin
# Nur PostgreSQL: führe dies im Express-Admin-Ordner aus
$ npm install pg @2 .8.2
# Nur SQLite: führe dies im Express-Admin-Ordner aus
$ npm install sqlite3 @2 .2.0

Um ein Projekt zu erstellen

Admin-Pfad/zum/config/dir

Wenn Sie diesen Befehl ausführen, werden Sie nach Datenbanktyp, Port, Benutzer, Datenbankname, Passwort, Admin-Benutzer und Admin-Passwort gefragt. Bitte beachten Sie, dass Admin Express erfordert, dass Sie über eine bestehende Datenbank mit Daten verfügen.

Express Admin building project

Wie Sie feststellen können, ist Ihre Admin-Oberfläche jetzt betriebsbereit! Gehen Sie einfach zu Ihrem Browser und greifen Sie auf lokaler Host: 3000.

Express Admin Login

Loggen Sie sich ein, um den Hauptbildschirm aufzurufen:

Express Admin Main screen

Meine Datenbank hat nur eine Tabelle (Produkte), aber von hier aus können Sie neue Einträge hinzufügen, löschen oder die vorhandenen aktualisieren. Du hast einen vollen Teig.

Express Admin Entity screen

Express Admin kann Ihr Schema lesen und es einer JSON-Konfigurationsdatei zuordnen. Dies ist Teil der settings.json-Datei, die

generiert von admin:

Express Admin settings.json configurations

Wie Sie sehen, sind hier alle Tabellenfelder definiert. Auf diese Weise erstellt Express Admin das Crud für jede Tabelle. Die Konfigurationen für den Datenbankzugriff werden in der Datei config.json gespeichert.

Wenn Sie mehr über die Express Admin-Konfiguration erfahren möchten, gehen Sie einfach zu diese Seite und folgen Sie den aufgelisteten Schritten.

Hauptfunktionen von Express Admin

SQL-Beziehungen

Mit Express Admin können Sie auch Beziehungen zwischen Tabellen konfigurieren, um automatisch die richtigen Felder zu erstellen. Sie können eine zu viele, viele zu viele, viele zu eins und eine zu eins Beziehungen haben. Gehen Sie einfach zu settings.json und ändern Sie es nach Ihren Bedürfnissen. Das folgende Bild zeigt ein Beispiel für eine bis viele Beziehungen:


Um mehr über Beziehungen zu erfahren, scannen Sie einfach durch hier.

Anpassung (z. B. Ansichten)

Ja, das ist möglich, da Sie eine custom.json-Datei haben, in der Sie Ihren benutzerdefinierten Code konfigurieren können:


Erstellen Sie einfach Ihre benutzerdefinierte app.js und eine View-Datei. Um mehr darüber zu erfahren, folgen Sie einfach diese Seite.

Meine Gedanken zu Express Admin

Wenn Sie nur eine Admin-Oberfläche mit den CRUD-Funktionen und einem gewissen Maß an Anpassung benötigen, ist Express Admin eine gute Lösung. Wie wir bereits gesehen haben, ermöglicht es Beziehungen zwischen Tabellen, unterstützt benutzerdefinierte Ansichten und funktioniert mit mehreren Datenbanken (nur relational — MySQL-, MariaDB-, SQLite- und PostgreSQL-Datenbanken). Meiner Meinung nach ist Express Admin aufgrund seiner Einfachheit und Anpassungsfähigkeit eine großartige Option.

Eine weitere Art der Anpassung für das Dashboard fehlt, aber Sie können den Code jederzeit forken und an Ihre Bedürfnisse anpassen.

blue arrow to the left
Imaginary Cloud logo

Strapi

Wie Sie sicherlich bemerkt haben, ist Express Admin eine gute Admin-Oberfläche und sehr gut für das, was es steht. Stellen Sie sich nun vor, Sie könnten all diese Funktionen haben und auch in der Lage sein, eine API und andere Funktionen wie Benutzerautorisierung und Authentifizierung zu generieren. Das wäre toll, oder? Nun, mit Strapi ist das möglich!

Als Nächstes gebe ich Ihnen einen Überblick darüber, wie Strapi funktioniert und wie Sie damit beginnen können. Weitere Informationen finden Sie unter die Strapi-Dokumentation.

Beginnen wir mit der Installation von Strapi:

npm installiere strapi @alpha -g


Erstellen Sie anschließend ein neues Projekt. Sie werden zur Eingabe des Datenbanktyps, des Datenbanknamens und der Zugangsdaten aufgefordert.

Strapi neues mein-Projekt


Strapi building project

Bevor Sie das Projekt starten, müssen Sie das NPM-Run-Setup ausführen. Dann bist du bereit zu gehen.

cd mein-projekt
npm run setup
Strapi starten

Wenn du zugreifst lokaler Host: 1337/admin Sie sollten den Bildschirm zur Erstellung von Admin-Benutzern sehen können:

Strapi Login

Erstellen Sie einfach Ihren Admin-Benutzer und danach werden Sie zum Dashboard weitergeleitet:

Strapi Main Screen

Hauptmerkmale von Strapi:

Erstellung von Inhalten (Inhaltstypen)

Lassen Sie uns gleich zu den guten Dingen springen und erläutern, wie Sie Inhalte erstellen können. Sie können entweder den „Content Type Builder“ im linken Menü oder Generatoren verwenden. Ich erkläre hier, wie man den Content Type Builder benutzt, aber vergiss nicht, auch die Generatoren auszuprobieren.

Inhaltstypen sind einfach die Modelle (und die API), die mit Ihrer MySQL-Datenbank verbunden sind und von Strapi verwendet werden, um die CRUD-Bildschirme zu generieren. Fügen wir also einen neuen Inhaltstyp hinzu:

Strapi Add new content type

Was die Felder betrifft, wenn Sie auf Neues Feld hinzufügen klicken, erhalten Sie Folgendes:

Strapi Field type selection

Mit Strapi können Sie den Datentyp auswählen, der aus einer der interessantesten Funktionen besteht. Fügen wir 2 Felder hinzu (Beschreibung und Preis) und klicken Sie auf Speichern. Das ist der Zeitpunkt, an dem die Dinge wirklich interessant werden. Schau dir einfach die generierten Dateien an:

Strapi API routing

Fantastisch, nicht wahr? Strapi hat gerade den Service, das Modell und den Controller für Ihre API generiert, und natürlich können Sie jederzeit anpassen

sie nach Ihren Bedürfnissen.

Ein weiteres interessantes Feature ist die Möglichkeit, Beziehungen innerhalb der Inhaltstypen herzustellen. Nehmen wir einen weiteren Inhaltstyp (Kategorie) an, den wir dem Produkt zuordnen möchten. Beim Hinzufügen eines Felds wählen wir den Beziehungstyp aus und dann:

Strapi Relating content type

Sie können zwischen eins zu eins, eins zu vielen und vielen zu vielen Beziehungstypen wählen. Wenn Sie also ein Produkt hinzufügen, werden Sie sehen, dass ein Kategorienfeld angezeigt wird.

Strapi Showing new relation with content type

APIs erstellen

Die API wird automatisch generiert und Sie können den Code an Ihre Bedürfnisse anpassen.

Strapi API code generated

Rollen und Berechtigungen

Um den öffentlichen Zugriff auf die API zu gewähren, können Sie die Rollen und Berechtigungen festlegen. Dies ist eine weitere coole Funktion auf Strapi. Es wird standardmäßig mit einem Plugin zur Verwaltung von Rollen und Berechtigungen geliefert.

Strapi Roles and permissions

Um den öffentlichen Zugriff auf die API zu ermöglichen, ändern Sie die Rolle:

Strapi Roles and permissions changing

Meine Gedanken zu Strapi

Wenn Sie eine Admin-Oberfläche benötigen, aber auch eine API erstellen und bereitstellen möchten, ist Strapi eine ausgezeichnete Wahl für Sie. Der Inhaltstypgenerator von Strapi ist ausgezeichnet und erfüllt fast alle Anforderungen, die Sie möglicherweise haben. Wenn nicht, können Sie jederzeit Ihre eigenen Plugins entwickeln. Ein weiteres großartiges Feature sind die Rollen/Berechtigungen.

Leider befindet sich Strapi noch in der Entwicklung und weist einige Fehler bei der Nutzung auf, aber die Community wächst und es ist sehr aktiv auf GitHub, daher erwarten wir immer Verbesserungen.

Überblick

Je nach Ihren Anforderungen können Sie Express Admin wählen, wenn Sie nur eine Admin-Oberfläche in Ihre App integrieren möchten, um Ihre Daten zu verwalten (einfache CRUD-Schnittstellen) und ein gewisses Maß an Anpassungen vorzunehmen.

Wenn zu Ihren Anforderungen das Erstellen einer API, Rollen und Benutzerberechtigungen gehören, sollte Strapi auf jeden Fall Ihre Wahl sein.

Wir können also sagen, dass beide Optionen ausgezeichnet sind und die Auswahl Ihren Anforderungen entsprechen sollte.

Ready for a UX Audit? Book a free call

Fanden Sie diesen Artikel interessant? Diese könnten dir auch gefallen!

blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
Ricardo Henriques
Ricardo Henriques

Entwickler @Imaginary Cloud, das sich der Entwicklung außergewöhnlicher Softwarelösungen verschrieben hat, sich der Innovation und der Nutzung modernster Technologien verschrieben hat.

Read more posts by this author

People who read this post, also found these interesting:

arrow left
arrow to the right
Dropdown caret icon