Un backend open source et une pile d'API permettant aux équipes de développement de créer, d'exécuter et de faire évoluer des plateformes et des marchés durables plus rapidement que jamais .
Stelace.com | Documents | Blogue | Gazouillement
Comprend :
Pour une expérience full-stack, vous pouvez commencer ici avec les modèles front-end open source Vue.js.
Le moyen le plus simple de déployer et d'exploiter Stelace consiste à utiliser notre infrastructure gérée officielle. Vous pouvez disposer d'un nouveau backend de plateforme opérationnel en quelques minutes grâce à un déploiement haute disponibilité, une mise à l'échelle automatique, des environnements de test et en direct intégrés et un tableau de bord d'administration. SLA, infrastructure dédiée et support premium sont également disponibles pour les clients Entreprise.
Avec:
Toutes les API répertoriées dans la documentation et la référence API.
L’interface utilisateur du tableau de bord d’administration est liée à notre offre Software-as-a-Service et n’est pas open source. Cela ne se produira certainement jamais à moins que la communauté et le personnel ne collaborent pour y parvenir.
C'est ça!
Cela signifie que vous pouvez librement basculer entre l'un de nos plans SaaS et l'auto-hébergement à tout moment si vous n'avez pas besoin du support Stelace ou du SLA et que vous êtes prêt à créer votre propre interface utilisateur d'administration, ou si vous n'en avez pas besoin ?.
Remarque : pour l'interface utilisateur de votre application, nous avons également créé des modèles frontaux open source.
Veuillez vous rendre sur le site Web Docker pour installer Docker CE/EE. Choisissez le bon guide d'installation pour votre système.
Veuillez vous référer aux instructions officielles.
git clone https://github.com/stelace/stelace.git && cd stelace && git checkout origin/master
Nous vous recommandons d'utiliser des images Docker préconfigurées pour les bases de données afin de faciliter le développement.
C'est ainsi que l'équipe Stelace développe et teste le serveur API.
Veuillez noter que vous devez cependant utiliser des bases de données appropriées en production.
Commençons par votre propre fichier .env
à personnaliser si nécessaire :
cp .env.example .env
Créez les images Docker :
docker-compose build
Et démarrez les bases de données :
yarn docker:db
Raccourci pour : docker-compose up -d elasticsearch postgresql redis
Exécutez yarn
pour installer les dépendances.
Exécutez yarn prepare
à installer les crochets Husky
Exécutez la migration de la base de données pour créer ou mettre à jour automatiquement les tables :
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
Astuce : utilisez l'un de nos modèles open source Stelace Instant pour un développement full-stack ultra-rapide.
yarn start # or `npm start`
Le serveur Stelace est construit et déployé sur des machines Linux (Ubuntu), et vous pourriez avoir des difficultés à exécuter le serveur avec un autre système d'exploitation.
Docker peut résoudre ce problème facilement.
Il vous suffit de changer l'hôte de 127.0.0.1
en elasticsearch
, postgresql
et redis
dans votre fichier .env
lorsque vous utilisez une API et des bases de données conteneurisées.
Voici comment installer les dépendances et la base de données d'initialisation :
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
Remarque : le répertoire racine du projet est utilisé comme volume Docker pendant le développement, y compris node_modules
partagés. Vous devez réinstaller les dépendances lors du basculement entre les configurations de serveur simple et de conteneur de serveur.
Courir:
docker-compose up -d
Commandes utiles à exécuter à partir de la racine du projet :
docker-compose logs -f api
docker-compose down
docker volume prune
Astuce : utilisez yarn docker:db:reset
pour réinitialiser les conteneurs et les volumes pendant le développement. Cela peut être utile si vous rencontrez un problème avec une base de données corrompue ou des données du magasin Redis, ou si vous souhaitez mettre à niveau les bases de données ( avertissement : les données et les volumes des conteneurs seront perdus).
Les tests sont principalement des tests d'intégration avec des bases de données opérationnelles pour couvrir toutes les fonctionnalités de l'API.
Exécutez npm run test
ou yarn test
avec ElasticSearch, PostgreSQL et Redis en cours d'exécution et les variables d'environnement appropriées (hôtes, ports, informations d'identification).
Vous pouvez utiliser des conteneurs Docker de base de données (voir Utilisation du conteneur de serveur API) avec l'hôte (127.0.0.1) et les ports appropriés (par exemple PostgreSQL : 6543).
Les fichiers de tests sont exécutés en parallèle avec AVA, en utilisant plusieurs schémas dans la base de données PostgreSQL.
Les tests sont assez gourmands en CPU et vous souhaiterez probablement disposer de 4 cœurs CPU pour les exécuter dans de bonnes conditions.
Veuillez trouver plus de détails dans la documentation du serveur (tests).
Obtenir les journaux du serveur en temps réel peut être très utile lors du développement ou des tests.
Il vous suffit de définir une variable d'environnement :
ROARR_LOG=true yarn test
Pour voir le résultat des appels console.log
pendant les tests AVA, ajoutez l'indicateur --verbose
:
yarn test --verbose
L'équipe Stelace utilise une image Docker du serveur API en production, tout comme les tests CI.
Vous pouvez également utiliser un conteneur de serveur API pour exécuter des tests localement.
Assurez-vous qu'ElasticSearch, PostgreSQL et Redis sont en cours d'exécution une fois que vous avez démarré les conteneurs de base de données :
# 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 ' ;
Exécutez des tests avec l'API conteneurisée :
docker-compose run --rm api yarn test
# instead of standard local server with `yarn test`
Comme mentionné ci-dessus, nous vous recommandons d'utiliser des bases de données appropriées pour la production. Vous pouvez auto-héberger les bases de données ou les externaliser en utilisant des fournisseurs de bases de données.
Veuillez trouver les procédures détaillées pour configurer SSL pour la base de données.
Veuillez trouver des explications sur les différents types de clés API.
Les versions publiques de l'API Stelace introduisant des modifications importantes sont datées publiquement du 2019-05-20
mais le référentiel lui-même suit les règles de Semver. Les versions datées sont l'équivalent des mises à jour major
, comme dans semver major.minor.patch
.
Les anciennes versions datées sont supportées grâce à des transformateurs, inspirés de grands exemples.
Lors de l'introduction de modifications importantes (indiquées par une nouvelle version majeure dans ce référentiel selon Semver) :
src/versions/index.js
description
dans les transformateurs de requêteStelace est open source et les contributions de la communauté sont les bienvenues, y compris la vôtre !
Avant de contribuer à Stelace :
Le serveur API Stelace pour les plates-formes Web est sous licence selon les termes de la licence publique générale GNU version 3.
Veuillez nous contacter pour discuter d'autres options de licence ou consulter nos plans SaaS pour le backend hébergé et le support premium.
Stelace Copyright © 2018-présent Sharinplace SAS.
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale GNU telle que publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou d’ADAPTATION À UN USAGE PARTICULIER. Voir la licence publique générale GNU pour plus de détails.
Une copie de la licence publique générale GNU est incluse dans ce programme et est également disponible sur https://www.gnu.org/licenses/gpl-3.0.txt.
Fabriqué avec ❤️ à Paris, France.