Open-Source-Backend und API-Stack ermöglichen es Entwicklerteams , dauerhafte Plattformen und Marktplätze schneller als je zuvor zu erstellen, auszuführen und zu skalieren .
Stelace.com | Dokumentation | Blog | Twitter
Beinhaltet:
Für ein Full-Stack-Erlebnis können Sie hier mit den Open-Source-Frontend-Vorlagen von Vue.js beginnen.
Der einfachste Weg, Stelace einzusetzen und zu nutzen, ist unsere offiziell verwaltete Infrastruktur. Mit hochverfügbarer Bereitstellung, automatischer Skalierung, integrierten Test- und Live-Umgebungen und einem Admin-Dashboard können Sie in wenigen Minuten ein neues Plattform-Backend einrichten und ausführen. Für Enterprise-Kunden sind auch SLA, dedizierte Infrastruktur und Premium-Support verfügbar.
Mit:
Alle APIs sind in den Dokumenten und der API-Referenz aufgeführt.
Die Admin-Dashboard-Benutzeroberfläche ist mit unserem Software-as-a-Service-Angebot verknüpft und nicht Open Source. Dies wird sicherlich nie der Fall sein, wenn die Gemeinschaft und die Mitarbeiter nicht zusammenarbeiten, um dies zu erreichen.
Das ist es!
Das bedeutet, dass Sie jederzeit frei zwischen unseren SaaS-Plänen und Selbsthosting wechseln können, wenn Sie keinen Stelace-Support oder SLA benötigen und bereit sind, Ihre eigene Admin-Benutzeroberfläche zu erstellen, oder wenn Sie keine benötigen?
Hinweis: Für die Benutzeroberfläche Ihrer App haben wir auch Open-Source-Frontend-Vorlagen erstellt.
Bitte besuchen Sie die Docker-Website, um Docker CE/EE zu installieren. Wählen Sie die richtige Installationsanleitung für Ihr System.
Bitte beachten Sie die offiziellen Anweisungen.
git clone https://github.com/stelace/stelace.git && cd stelace && git checkout origin/master
Wir empfehlen die Verwendung vorkonfigurierter Docker-Images für Datenbanken, um die Entwicklung zu vereinfachen.
So entwickelt und testet das Stelace-Team API-Server.
Bitte beachten Sie jedoch, dass Sie in der Produktion geeignete Datenbanken verwenden sollten.
Beginnen wir mit Ihrer eigenen .env
Datei, die Sie bei Bedarf anpassen können:
cp .env.example .env
Erstellen Sie die Docker-Images:
docker-compose build
Und starten Sie die Datenbanken:
yarn docker:db
Abkürzung für: docker-compose up -d elasticsearch postgresql redis
Führen Sie yarn
aus, um Abhängigkeiten zu installieren.
Führen Sie yarn prepare
die Installation von Husky-Haken vor
Führen Sie die Datenbankmigration aus, um Tabellen automatisch zu erstellen oder zu aktualisieren:
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
Tipp: Verwenden Sie eine unserer Open-Source-Vorlagen für Stelace Instant für eine blitzschnelle Full-Stack-Entwicklung.
yarn start # or `npm start`
Der Stelace-Server basiert auf Linux-Rechnern (Ubuntu) und wird auf diesen bereitgestellt. Möglicherweise haben Sie Probleme beim Betrieb des Servers mit einem anderen Betriebssystem.
Docker kann dieses Problem problemlos lösen.
Sie müssen in Ihrer .env
Datei lediglich den Host von 127.0.0.1
auf elasticsearch
, postgresql
und redis
ändern, wenn Sie containerisierte APIs und Datenbanken verwenden.
So können Sie Abhängigkeiten und die Init-Datenbank installieren:
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
Hinweis: Das Stammverzeichnis des Projekts wird während der Entwicklung als Docker-Volume verwendet, einschließlich gemeinsam genutzter node_modules
. Sie müssen Abhängigkeiten neu installieren, wenn Sie zwischen einfachen Server- und Servercontainer-Setups wechseln.
Laufen:
docker-compose up -d
Nützliche Befehle zum Ausführen im Projektstammverzeichnis:
docker-compose logs -f api
docker-compose down
docker volume prune
Tipp: Verwenden Sie yarn docker:db:reset
um Container und Volumes während der Entwicklung zurückzusetzen. Dies kann nützlich sein, wenn Sie Probleme mit beschädigten Datenbank- oder Redis-Speicherdaten haben oder wenn Sie Datenbanken aktualisieren möchten ( Warnung : Containerdaten und -volumes gehen verloren).
Bei den Tests handelt es sich meist um Integrationstests mit laufenden Datenbanken, um die volle API-Funktionalität abzudecken.
Führen Sie npm run test
oder yarn test
mit laufenden ElasticSearch, PostgreSQL und Redis und den entsprechenden Umgebungsvariablen (Hosts, Ports, Anmeldeinformationen) aus.
Sie können Datenbank-Docker-Container (siehe API-Server-Container verwenden) mit entsprechendem Host (127.0.0.1) und Ports (z. B. PostgreSQL: 6543) verwenden.
Testdateien werden parallel zu AVA ausgeführt, wobei mehrere Schemata in der PostgreSQL-Datenbank verwendet werden.
Tests sind recht CPU-intensiv und Sie benötigen wahrscheinlich 4 CPU-Kerne, um sie unter guten Bedingungen auszuführen.
Weitere Details finden Sie in den Serverdokumenten (Tests).
Das Abrufen von Serverprotokollen in Echtzeit kann während der Entwicklung oder bei Tests sehr nützlich sein.
Sie müssen lediglich eine Umgebungsvariable festlegen:
ROARR_LOG=true yarn test
Um die Ausgabe von console.log
-Aufrufen während AVA-Tests anzuzeigen, fügen Sie das Flag --verbose
hinzu:
yarn test --verbose
Das Stelace-Team verwendet in der Produktion ein API-Server-Docker-Image, ebenso wie CI-Tests.
Sie können einen API-Server-Container auch verwenden, um Tests lokal auszuführen.
Stellen Sie sicher, dass ElasticSearch, PostgreSQL und Redis ausgeführt werden, sobald Sie Datenbankcontainer gestartet haben:
# Install dependencies used by API server container if not done yet
docker-compose run --rm api yarn
# Checking that databases are up and running
docker-compose run --rm api /bin/sh -c
' until nc -z -v -w30 elasticsearch 9200 && nc -z -v -w30 postgresql 5432 && nc -z -v -w30 redis 6379
do
echo "Waiting for PostgreSQL, ElasticSearch and Redis…"
sleep 2
done ' ;
Führen Sie Tests mit einer Container-API aus:
docker-compose run --rm api yarn test
# instead of standard local server with `yarn test`
Wie oben erwähnt empfehlen wir die Verwendung geeigneter Datenbanken für die Produktion. Sie können die Datenbanken selbst hosten oder sie mithilfe von Datenbankanbietern externalisieren.
Hier finden Sie detaillierte Vorgehensweisen zum Konfigurieren von SSL für die Datenbank.
Hier finden Sie Erläuterungen zu den verschiedenen Arten von API-Schlüsseln.
Öffentliche Versionen der Stelace-API, die bahnbrechende Änderungen einführen, sind öffentlich mit dem 2019-05-20
datiert, das Repository selbst folgt jedoch strengen Regeln. Datierte Versionen sind das Äquivalent zu major
Updates, wie z. B. „semver“ major.minor.patch
.
Dank der von großartigen Beispielen inspirierten Transformatoren werden veraltete Versionen unterstützt.
Bei der Einführung bahnbrechender Änderungen (laut Semver durch eine neue Hauptversion in diesem Repository gekennzeichnet):
src/versions/index.js
hinzugefügtdescription
in Anforderungstransformatoren dokumentiertStelace ist Open Source und Beiträge aus der Community sind herzlich willkommen, auch Ihre!
Bevor Sie zu Stelace beitragen:
Der Stelace-API-Server für Webplattformen ist unter den Bedingungen der GNU General Public License Version 3 lizenziert.
Bitte kontaktieren Sie uns, um andere Lizenzoptionen zu besprechen oder schauen Sie sich unsere SaaS-Pläne für gehostetes Backend und Premium-Support an.
Stelace Copyright © 2018-heute Sharinplace SAS.
Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) einer späteren Version weiterverbreiten und/oder ändern.
Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich ist, jedoch OHNE JEGLICHE GARANTIE; ohne die stillschweigende Garantie der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Einzelheiten finden Sie in der GNU General Public License.
Eine Kopie der GNU General Public License ist in diesem Programm enthalten und auch unter https://www.gnu.org/licenses/gpl-3.0.txt verfügbar.
Hergestellt mit ❤️ in Paris, Frankreich.