Friedrich Siever

10. Dezember 2023

Strapi erste Schritte

von: Friedrich Siever | Last Updated: 13.01.23

Falls Du nicht weißt, was Strapi ist und macht, empfehle ich Dir den Artikel Einstieg in Strapi zu lesen, um die Features, Möglichkeiten und den Nutzen von Strapi kennezulernen.

Strapi installation

Der erste Schritt besteht darin, Strapi auf deinem Server oder deinem lokalen Entwicklungssystem zu installieren. Strapi kann auf verschiedenen Betriebssystemen ausgeführt werden, einschließlich Linux, macOS und Windows. Du kannst Strapi entweder über npm (Node Package Manager) oder Yarn installieren. Hier ist ein Beispielbefehl für die Installation:

npx create-strapi-app@latest my-project

Der o.a. Befehl führt die folgenden Schritte aus.

  • Bootstraps ein neues Strapi-Projekt: Der Befehl erstellt ein neues Strapi-Projekt mit dem Namen “my-project” (du kannst den Namen anpassen), wodurch die grundlegende Projektstruktur eingerichtet wird.

  • Installiert alle Dependencies wie Koa.js usw.: Alle erforderlichen Abhängigkeiten, einschließlich des Koa-Frameworks, werden automatisch installiert, um sicherzustellen, dass Strapi korrekt funktioniert.

  • Erstellt die Admin-Oberfläche: Strapi generiert das Admin-Panel, das es dir ermöglicht, Inhalte und Datenmodelle zu verwalten, ohne tief in den Code einzusteigen. Das Admin-Panel wird ebenfalls eingerichtet und bereitgestellt.

  • Startet einen Entwicklungsserver auf localhost:1337: Nachdem das Projekt initialisiert wurde, startet der Befehl einen Entwicklungsserver auf dem Standard-Port 1337. Dies ermöglicht es dir, das Projekt lokal zu entwickeln und es auf http://localhost:1337 aufzurufen.

Du siehst also, wie einfach es Dir als Entwickler gemacht wird, ein Strapi Projekt einzurichten. Das spart Zeit und ermöglicht es den Entwicklern, sich auf das Wesentliche zu konzentrieren: die Entwicklung ihrer Anwendung oder Website, anstatt sich mit komplexen Einrichtungsaufgaben herumschlagen zu müssen. Strapi ist eine großartige Wahl, um den Entwicklungsprozess zu beschleunigen und die Produktivität zu steigern.

Die Standard-Routen von Strapi

Strapi stellt standardmäßig einige wichtige Routen bereit, um den Zugriff auf verschiedene Funktionen zu ermöglichen:

  • /admin: Dies ist die Route zum Strapi-Admin-Panel. Hier kannst du auf die webbasierte Benutzeroberfläche zugreifen, um Inhalte und Datenmodelle einfach zu verwalten.

  • /api: Diese Route bietet Zugriff auf die RESTful-API von Strapi. Hier kannst du auf die erstellten API-Endpunkte und Daten zugreifen, um deine Anwendung mit den erforderlichen Daten zu versorgen.

  • /graphql: Strapi bietet auch eine GraphQL-API über diese Route an. GraphQL ermöglicht eine flexiblere Datenabfrage und ist besonders nützlich, wenn spezifische Anforderungen an Datenabfragen bestehen. ( Muss via Plugin initialisiert werden. Das behandele ich vielleicht in einem späteren Beitrag noch.)

Diese Standard-Routen sind grundlegend für die Arbeit mit Strapi und ermöglichen einen einfachen Zugriff auf die verschiedenen Funktionen und Schnittstellen, die Strapi bereitstellt.

Verschiedene Nutzer bei Strapi

Der Begriff “Nutzer” in Strapi kann zuweilen zu Missverständnissen führen, da er in verschiedene Rollen unterteilt ist.

Admin-Benutzer

Die Kategorie der Admin-Benutzer umfasst in erster Linie Entwickler und Personen, die für die Konfiguration und Verwaltung der Anwendung verantwortlich sind. Hier sind einige wichtige Admin-Nutzerrollen:

  • SUPER-ADMIN (App Designer): Die SUPER-ADMIN-Rolle gehört dem App Designer, der für die Definition aller Datenmodelle (Business Logik) verantwortlich ist. Der App Designer setzt auch alle Anwendungseinstellungen fest. Diese Person verbringt die meiste Zeit im Content Type Builder und in den Einstellungen der Anwendung.

  • Editor: Editoren erstellen und bearbeiten Inhalte und überwachen andere Autoren. Sie verbringen ihre meiste Zeit im “Content Manager” von Strapi.

  • Author: Autoren erstellen und bearbeiten ebenfalls Inhalte, haben jedoch keinen Zugriff auf die Inhalte anderer Personen. Diese Nutzer arbeiten hauptsächlich im Content Manager und haben eingeschränktere Rechte.

App-Benutzer

App-Benutzer sind die Endnutzer deiner Anwendung. Dies sind die Personen, die die von dir erstellten Inhalte konsumieren und mit deiner Anwendung interagieren. App-Benutzer haben normalerweise in Strapi keinen Zugriff auf die Backend-Verwaltung und die Konfigurationsebene, die den Admin-Benutzern vorbehalten ist. Ihre Hauptaufgabe besteht darin, die Anwendung zu nutzen und von den bereitgestellten Inhalten der Admin-Benutzern zu profitieren.

Strapi erstellt standardmäßig einen eigenen Datentyp für App-Benutzer, der als “User” bezeichnet wird. Dieser Datentyp ermöglicht die Verwaltung von Benutzerkonten und enthält typischerweise Felder wie Benutzername, E-Mail-Adresse, Passwort und möglicherweise weitere benutzerdefinierte Informationen, die du für deine Anwendung benötigst. Dies erleichtert die Verwaltung von Benutzerkonten in Strapi und ermöglicht es dir, Authentifizierung und Autorisierung in deiner Anwendung zu implementieren. Du kannst den “User”-Datentyp anpassen und weitere benutzerdefinierte Felder hinzufügen, je nach den Anforderungen deiner Anwendung.

Die Unterscheidung zwischen Admin-Benutzern und App-Benutzern ist entscheidend, um die verschiedenen Aspekte der Verwaltung und Nutzung deiner Strapi-Anwendung effektiv zu organisieren.

Content Types in Strapi

In Strapi werden Content Types als Blaupausen für die Inhalte deiner Anwendung definiert. Sie stellen Modelle für die Entitäten dar, die in deiner App existieren werden.

Collection Types

Collection Types sind Content Types, die verschiedene Einträge oder Datensätze haben können. Beispiele für Collection Types sind “Posts” oder “Tags”, bei denen es mehrere Instanzen dieser Entitäten geben kann.

Single Types

Single Types sind Inhalte, die genau aus einem einzigen Eintrag bestehen. Ein Beispiel dafür wäre die Homepage deines Blogs, die in Form eines einzigen Inhalts definiert wird und keine weiteren Instanzen desselben Inhalts enthält.

Die wichtigsten Feldtypen

Für diejenigen, die professionell mit WordPress gearbeitet haben, gibt es eine erfreuliche Nachricht: Strapi ist mit einer Vielzahl von Standardfeldern ausgestattet. Das bedeutet, dass teure Plugins wie Advanced Custom Fields (ACF) und aufwendige Konfigurationen für grundlegende CMS-Funktionalitäten in Strapi der Vergangenheit angehören. Zu diesen Standardfeldern zählen:

Text

Kurzer oder langer Text, wie beispielsweise Titel oder Beschreibung.

Rich Text

Ein Rich Text-Editor mit Formatierungsoptionen.

Medien

Ein Feld, das speziell für die Verwaltung von Mediendateien wie Bilder, Audio oder Video vorgesehen ist.

Zahl

Ein numerischer Wert, der Zahlen und Dezimalstellen akzeptiert.

Datum und Uhrzeit

Ein Feld, das Datum und Uhrzeit speichert, z.B. für Zeitstempel oder Datumsangaben.

Boolean

Ein Feld, das Wahrheitswerte wie “Ja” oder “Nein” speichert.

JSON

Ein Feld, das strukturierte Daten im JSON-Format aufnehmen kann.

Verknüpfung / Relation

Ein Feld, das auf andere Datensätze oder Inhalte in deiner Anwendung verweisen kann, z.B. für Beziehungen zwischen verschiedenen Elementen.

Datei

Ein Feld, das den Upload von Dateien ermöglicht, z.B. für Bilder, Dokumente oder andere Medien.

E-Mail

Ein Feld, das E-Mail-Adressen akzeptiert und validiert.

Passwort

Ein Feld, das Passwörter speichert und normalerweise verschlüsselt.

Enumeration

Ein Feld, das eine Auswahl aus einer begrenzten Liste von Werten erlaubt. Dies ist nützlich, um beispielsweise Dropdown-Listen oder Optionsfelder zu erstellen und sicherzustellen, dass nur bestimmte Werte ausgewählt werden können.

Fazit

Diese verschiedenen Feldtypen ermöglichen es, Daten in Strapi auf vielfältige Weise zu strukturieren und zu speichern, je nach den Anforderungen deiner Anwendung.

Strapi Components

In der schnelllebigen Welt des modernen Webs ist das Konzept des Component Driven Design zu einem wahren Megatrend geworden. Es liefert eine elegante Antwort auf die Herausforderungen, mit denen Systeme konfrontiert sind, um sowohl Benutzer als auch Entwickler gleichermaßen dabei zu unterstützen, effizient zu arbeiten und den Grundsatz des “Don’t Repeat Yourself” (DRY) zu wahren. In dieser Hinsicht erweist sich Strapi als sehr nützliches Werkzeug.

Lass uns dies anhand eines einfachen Beispiels veranschaulichen. Stell dir vor, du betreibst eine Website mit verschiedenen Content-Typen wie die Homepage, Blog-Seiten und mehr. In der Regel benötigst du mindestens zwei wichtige SEO-bezogene Felder: einen SEO-Titel und eine SEO-Beschreibung. Die Einrichtung dieser Felder für jeden einzelnen Content-Typ kann zu einem mühsamen Prozess werden.

Doch hier kommt die Stärke von Strapi und dem Konzept der Komponenten ins Spiel. Statt diese SEO-bezogenen Felder in jedem Content-Typ separat anzulegen, kannst du eine spezielle Komponente für SEO-Informationen erstellen. Das hat gleich mehrere Vorteile:

  • Effizienz: Die Erstellung einer einzigen Komponente für SEO-Informationen ermöglicht es dir, Zeit und Aufwand zu sparen. Du musst die gleichen Felder nicht mehrfach einrichten.

  • Wartbarkeit: Solltest du in der Zukunft weitere SEO-relevante Felder hinzufügen wollen, gestaltet sich die Verwaltung viel einfacher. Du aktualisierst lediglich die SEO-Komponente, und die Änderungen werden automatisch auf alle Content-Typen übertragen.

  • Konsistenz: Mit einer zentralen SEO-Komponente sicherst du eine konsistente Struktur deiner SEO-Daten über die gesamte Website hinweg.

Die Möglichkeit, Komponenten in Strapi zu nutzen, eröffnet eine Welt der Effizienz und Wartbarkeit. Das System ermöglicht es dir, modulare Bausteine zu erstellen, die in verschiedenen Kontexten wiederverwendet werden können. So kannst du nicht nur Zeit sparen, sondern auch sicherstellen, dass deine Website stets auf dem neuesten Stand und optimal für Suchmaschinen optimiert ist.

In der Ära des Component Driven Designs und mit Strapi an deiner Seite stehen dir mächtige Werkzeuge zur Verfügung, um die Effizienz und Konsistenz deiner digitalen Projekte zu steigern. Die Komponenten-basierte Herangehensweise ist ein Paradebeispiel für die Art und Weise, wie Strapi dich bei der Erstellung und Verwaltung von Inhalten in der modernen Webentwicklung unterstützt.

0
0 Bewertungen

Jetzt selbst bewerten