Back-end de código aberto e pilha de API que capacitam as equipes de desenvolvimento a criar, executar e dimensionar plataformas e mercados duradouros com mais rapidez do que nunca .
Stelace. com | Documentação | Blogue | Twitter
Inclui:
Para uma experiência full-stack, você pode começar aqui com modelos de front-end Vue.js de código aberto.
A maneira mais fácil de implantar e aproveitar o Stelace é com nossa infraestrutura gerenciada oficial. Você pode ter um novo back-end de plataforma instalado e funcionando em minutos com implantação de alta disponibilidade, escalonamento automático, teste integrado, ambientes ativos e painel de administração. SLA, infraestrutura dedicada e suporte premium também estão disponíveis para clientes empresariais.
Com:
Todas as APIs listadas na documentação e na referência de API.
A UI do painel de administração está vinculada à nossa oferta de software como serviço e não é de código aberto. Certamente nunca o será, a menos que a comunidade e os funcionários colaborem para que isto aconteça.
É isso!
Isso significa que você pode alternar livremente entre qualquer um de nossos planos SaaS e auto-hospedagem a qualquer momento se não precisar de suporte Stelace ou SLA e estiver pronto para construir sua própria UI de administração ou não precisar de uma?
Observação: para a interface do usuário do seu aplicativo, também criamos modelos de front-end de código aberto.
Acesse o site do Docker para instalar o Docker CE/EE. Escolha o guia de instalação correto para o seu sistema.
Consulte as instruções oficiais.
git clone https://github.com/stelace/stelace.git && cd stelace && git checkout origin/master
Recomendamos o uso de imagens Docker pré-configuradas para bancos de dados para facilitar o desenvolvimento.
É assim que a equipe Stelace desenvolve e testa o servidor API.
Observe que você deve usar bancos de dados adequados na produção.
Vamos começar com seu próprio arquivo .env
para personalizar, se necessário:
cp .env.example .env
Construa as imagens do Docker:
docker-compose build
E inicie os bancos de dados:
yarn docker:db
Abreviação de: docker-compose up -d elasticsearch postgresql redis
Execute yarn
para instalar dependências.
Passe yarn prepare
para instalar ganchos husky
Execute a migração do banco de dados para criar ou atualizar tabelas automaticamente:
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
Dica: use um de nossos modelos de código aberto Stelace Instant para um desenvolvimento full-stack extremamente rápido.
yarn start # or `npm start`
O servidor Stelace é construído e implantado em máquinas Linux (Ubuntu), e você pode ter alguns problemas para executar o servidor com outro sistema operacional.
Docker pode resolver isso com facilidade.
Você só precisa alterar o host de 127.0.0.1
para elasticsearch
, postgresql
e redis
em seu arquivo .env
ao usar API e bancos de dados em contêineres.
Aqui está como você pode instalar dependências e iniciar o banco de dados:
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
Nota: o diretório raiz do projeto é usado como um volume Docker durante o desenvolvimento, incluindo node_modules
que são compartilhados. Você precisa reinstalar as dependências ao alternar entre configurações simples de servidor e contêiner de servidor.
Correr:
docker-compose up -d
Comandos úteis para executar na raiz do projeto:
docker-compose logs -f api
docker-compose down
docker volume prune
Dica: Use yarn docker:db:reset
para redefinir contêineres e volumes durante o desenvolvimento. Isso pode ser útil se você tiver algum problema com banco de dados corrompido ou dados de armazenamento Redis, ou se desejar atualizar bancos de dados ( aviso : dados e volumes de contêineres serão perdidos).
Os testes são principalmente testes de integração com bancos de dados em funcionamento para cobrir todas as funcionalidades da API.
Execute npm run test
ou yarn test
com ElasticSearch, PostgreSQL e Redis em execução e variáveis de ambiente apropriadas (hosts, portas, credenciais).
Você pode usar contêineres Docker de banco de dados (consulte Usando contêiner de servidor API) com host (127.0.0.1) e portas apropriadas (por exemplo, PostgreSQL: 6543).
Os arquivos de testes são executados em paralelo com o AVA, usando vários esquemas no banco de dados PostgreSQL.
Os testes exigem bastante CPU e você provavelmente desejará ter 4 núcleos de CPU para executá-los em boas condições.
Encontre mais detalhes na documentação do servidor (teste).
Obter logs do servidor em tempo real pode ser muito útil durante o desenvolvimento ou testes.
Você só precisa definir uma variável de ambiente:
ROARR_LOG=true yarn test
Para ver a saída das chamadas console.log
durante os testes AVA, adicione o sinalizador --verbose
:
yarn test --verbose
A equipe Stelace usa uma imagem Docker do servidor API na produção, assim como os testes de CI.
Você também pode usar um contêiner de servidor API para executar testes localmente.
Certifique-se de que ElasticSearch, PostgreSQL e Redis estejam em execução depois de iniciar os contêineres de banco de dados:
# 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 ' ;
Execute testes com API conteinerizada:
docker-compose run --rm api yarn test
# instead of standard local server with `yarn test`
Conforme mencionado acima, recomendamos o uso de bancos de dados adequados para produção. Você pode auto-hospedar os bancos de dados ou externalizá-los usando provedores de banco de dados.
Encontre procedimentos detalhados para configurar SSL para banco de dados.
Encontre explicações sobre os diferentes tipos de chaves de API.
As versões públicas da API Stelace que introduzem alterações significativas são datadas publicamente como 2019-05-20
mas o próprio repositório segue as regras semver. Versão datada equivale a atualizações major
, como em semver major.minor.patch
.
Versões antigas são suportadas graças a transformadores, inspirados em grandes exemplos.
Ao introduzir alterações significativas (denotadas por uma nova versão principal neste repositório de acordo com semver):
src/versions/index.js
description
nos transformadores de solicitaçãoStelace é de código aberto e contribuições da comunidade são muito bem-vindas, inclusive as suas!
Antes de contribuir para Stelace:
O servidor Stelace API para plataformas Web é licenciado sob os termos da GNU General Public License Versão 3.
Entre em contato conosco para discutir outras opções de licenciamento ou consulte nossos planos SaaS para back-end hospedado e suporte premium.
Stelace Copyright © 2018-presente Sharinplace SAS.
Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation, seja a versão 3 da Licença ou (a seu critério) qualquer versão posterior.
Este programa é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; mesmo sem a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja a Licença Pública Geral GNU para mais detalhes.
Uma cópia da Licença Pública Geral GNU está incluída neste programa e também disponível em https://www.gnu.org/licenses/gpl-3.0.txt.
Feito com ❤️ em Paris, França.