Backend de código abierto y pila de API que permiten a los equipos de desarrollo crear, ejecutar y escalar plataformas y mercados duraderos más rápido que nunca .
Stelace.com | Documentación | Blog | Gorjeo
Incluye:
Para una experiencia completa, puede comenzar aquí con las plantillas de interfaz de usuario de Vue.js de código abierto.
La forma más sencilla de implementar y aprovechar Stelace es con nuestra infraestructura administrada oficial. Puede tener un nuevo backend de plataforma en funcionamiento en minutos con implementación de alta disponibilidad, escalado automático, entornos en vivo y de prueba integrados y panel de administración. SLA, infraestructura dedicada y soporte premium también están disponibles para los clientes empresariales.
Con:
Todas las API enumeradas en documentos y referencia de API.
La interfaz de usuario del panel de administración está vinculada a nuestra oferta de software como servicio y no es de código abierto. Ciertamente nunca lo será a menos que la comunidad y el personal colaboren para que esto suceda.
¡Eso es todo!
Esto significa que puede cambiar libremente entre cualquiera de nuestros planes SaaS y autohospedaje en cualquier momento si no necesita soporte Stelace o SLA y está listo para crear su propia interfaz de usuario de administrador, ¿o no la necesita?
Nota: para la interfaz de usuario de su aplicación, también creamos plantillas de interfaz de usuario de código abierto.
Vaya al sitio web de Docker para instalar Docker CE/EE. Elija la guía de instalación adecuada para su sistema.
Consulte las instrucciones oficiales.
git clone https://github.com/stelace/stelace.git && cd stelace && git checkout origin/master
Recomendamos utilizar imágenes de Docker preconfiguradas para bases de datos para facilitar el desarrollo.
Así es como el equipo de Stelace desarrolla y prueba el servidor API.
Sin embargo, tenga en cuenta que debe utilizar bases de datos adecuadas en producción.
Comencemos con su propio archivo .env
para personalizarlo si es necesario:
cp .env.example .env
Construya las imágenes de Docker:
docker-compose build
E iniciar las bases de datos:
yarn docker:db
Taquigrafía de: docker-compose up -d elasticsearch postgresql redis
Ejecute yarn
para instalar dependencias.
Ejecute yarn prepare
para instalar ganchos husky.
Ejecute la migración de la base de datos para crear o actualizar tablas automáticamente:
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
Consejo: utilice una de nuestras plantillas de código abierto Stelace Instant para un desarrollo full-stack increíblemente rápido.
yarn start # or `npm start`
El servidor Stelace está integrado e implementado en máquinas Linux (Ubuntu), y es posible que tenga problemas para ejecutar el servidor con otro sistema operativo.
Docker puede resolver esto con facilidad.
Solo tiene que cambiar el host de 127.0.0.1
a elasticsearch
, postgresql
y redis
en su archivo .env
cuando utilice bases de datos y API en contenedores.
Así es como puede instalar dependencias y la base de datos de inicio:
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
Nota: el directorio raíz del proyecto se utiliza como volumen de Docker durante el desarrollo, incluidos node_modules
que se comparten. Debe reinstalar las dependencias al cambiar entre configuraciones de servidor simple y de contenedor de servidor.
Correr:
docker-compose up -d
Comandos útiles para ejecutar desde la raíz del proyecto:
docker-compose logs -f api
docker-compose down
docker volume prune
Consejo: utilice yarn docker:db:reset
para restablecer contenedores y volúmenes durante el desarrollo. Esto puede ser útil si tiene algún problema con una base de datos dañada o con datos del almacén de Redis, o si desea actualizar las bases de datos ( advertencia : los datos y volúmenes de los contenedores se perderán).
Las pruebas son en su mayoría pruebas de integración con bases de datos en funcionamiento para cubrir la funcionalidad completa de la API.
Ejecute npm run test
o yarn test
con ElasticSearch, PostgreSQL y Redis en ejecución y las variables de entorno apropiadas (hosts, puertos, credenciales).
Puede utilizar contenedores Docker de bases de datos (consulte Uso del contenedor de servidor API) con el host (127.0.0.1) y los puertos apropiados (por ejemplo, PostgreSQL: 6543).
Los archivos de prueba se ejecutan en paralelo con AVA, utilizando múltiples esquemas en la base de datos PostgreSQL.
Las pruebas consumen bastante CPU y probablemente quieras tener 4 núcleos de CPU para ejecutarlas en buenas condiciones.
Encuentre más detalles en los documentos del servidor (pruebas).
Obtener registros del servidor en tiempo real puede resultar muy útil durante el desarrollo o las pruebas.
Sólo tienes que establecer una variable de entorno:
ROARR_LOG=true yarn test
Para ver el resultado de las llamadas console.log
durante las pruebas de AVA, agregue el indicador --verbose
:
yarn test --verbose
El equipo de Stelace utiliza una imagen Docker del servidor API en producción, al igual que las pruebas de CI.
También puede utilizar un contenedor de servidor API para ejecutar pruebas localmente.
Asegúrese de que ElasticSearch, PostgreSQL y Redis se estén ejecutando una vez que haya iniciado los contenedores de bases de datos:
# 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 ' ;
Ejecute pruebas con API en contenedores:
docker-compose run --rm api yarn test
# instead of standard local server with `yarn test`
Como se mencionó anteriormente, recomendamos utilizar bases de datos adecuadas para la producción. Puede alojar las bases de datos usted mismo o externalizarlas mediante el uso de proveedores de bases de datos.
Encuentre procedimientos detallados para configurar SSL para la base de datos.
Encuentre explicaciones sobre los diferentes tipos de claves API.
Las versiones públicas de Stelace API que introducen cambios importantes tienen fecha pública como 2019-05-20
pero el repositorio en sí sigue pocas reglas. Las versiones fechadas son equivalentes a actualizaciones major
, como en semver major.minor.patch
.
Las versiones antiguas son compatibles gracias a transformadores, inspirados en excelentes ejemplos.
Al introducir cambios importantes (indicados por una nueva versión principal en este repositorio según semver):
src/versions/index.js
description
en la solicitud de transformadores.Stelace es de código abierto y las contribuciones de la comunidad son bienvenidas, ¡incluida la suya!
Antes de contribuir a Stelace:
El servidor Stelace API para plataformas web tiene licencia según los términos de la Licencia pública general GNU Versión 3.
Comuníquese con nosotros para analizar otras opciones de licencia o consulte nuestros planes SaaS para backend alojado y soporte premium.
Stelace Copyright © 2018-presente Sharinplace SAS.
Este programa es software libre: puede redistribuirlo y/o modificarlo según los términos de la Licencia Pública General GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia o (a su elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea de utilidad, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la Licencia pública general de GNU para obtener más detalles.
En este programa se incluye una copia de la Licencia Pública General GNU, que también está disponible en https://www.gnu.org/licenses/gpl-3.0.txt.
Hecho con ❤️ en París, Francia.