Серверная часть с открытым исходным кодом и стек API позволяют командам разработчиков создавать, запускать и масштабировать надежные платформы и торговые площадки быстрее, чем когда-либо .
Stelace.com | Документация | Блог | Твиттер
Включает:
Чтобы получить полный опыт работы, вы можете начать здесь с шаблонов внешнего интерфейса Vue.js с открытым исходным кодом.
Самый простой способ развернуть и использовать Stelace — использовать нашу официальную управляемую инфраструктуру. Вы можете запустить новую серверную часть платформы за считанные минуты благодаря развертыванию с высоким уровнем доступности, автоматическому масштабированию, встроенным тестовым и интерактивным средам, а также панели администратора. Для корпоративных клиентов также доступны соглашение об уровне обслуживания, выделенная инфраструктура и премиальная поддержка.
С:
Все API перечислены в документации и справочнике API.
Пользовательский интерфейс панели администратора связан с нашим предложением «Программное обеспечение как услуга» и не имеет открытого исходного кода. Этого определенно никогда не произойдет, если сообщество и сотрудники не будут сотрудничать, чтобы это произошло.
Вот и все!
Это означает, что вы можете свободно переключаться между любым из наших планов SaaS и самостоятельным хостингом в любое время, если вам не нужна поддержка Stelace или SLA и вы готовы создать свой собственный пользовательский интерфейс администратора, или он вам не нужен?
Примечание. Для пользовательского интерфейса вашего приложения мы также разработали шаблоны интерфейса с открытым исходным кодом.
Перейдите на веб-сайт Docker, чтобы установить Docker CE/EE. Выберите подходящее руководство по установке для вашей системы.
Пожалуйста, обратитесь к официальным инструкциям.
git clone https://github.com/stelace/stelace.git && cd stelace && git checkout origin/master
Мы рекомендуем использовать предварительно настроенные образы Docker для баз данных, чтобы упростить разработку.
Именно так команда Stelace разрабатывает и тестирует API-сервер.
Обратите внимание, что вам следует использовать правильные базы данных в производстве.
Начнем с вашего собственного файла .env
, который можно при необходимости настроить:
cp .env.example .env
Создайте образы Docker:
docker-compose build
И запустим базы данных:
yarn docker:db
Сокращение для: docker-compose up -d elasticsearch postgresql redis
Запустите yarn
, чтобы установить зависимости.
Проведите yarn prepare
к установке крючков хаски.
Запустите миграцию базы данных для автоматического создания или обновления таблиц:
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
Совет: используйте один из наших шаблонов Stelace Instant с открытым исходным кодом для невероятно быстрой полнофункциональной разработки.
yarn start # or `npm start`
Сервер Stelace создан и развернут на машинах Linux (Ubuntu), поэтому у вас могут возникнуть проблемы с запуском сервера с другой ОС.
Docker может легко решить эту проблему.
Вам просто нужно изменить хост с 127.0.0.1
на elasticsearch
, postgresql
и redis
в вашем файле .env
при использовании контейнерного API и баз данных.
Вот как вы можете установить зависимости и инициализировать базу данных:
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
Примечание. Корневой каталог проекта используется как том Docker во время разработки, включая общие node_modules
. Вам необходимо переустановить зависимости при переключении между настройками простого сервера и серверного контейнера.
Бегать:
docker-compose up -d
Полезные команды для запуска из корня проекта:
docker-compose logs -f api
docker-compose down
docker volume prune
Совет: используйте yarn docker:db:reset
для сброса контейнеров и томов во время разработки. Это может быть полезно, если у вас возникли проблемы с поврежденной базой данных или данными хранилища Redis, или если вы хотите обновить базы данных ( предупреждение : данные контейнеров и тома будут потеряны).
Тесты в основном представляют собой интеграционные тесты с запущенными и работающими базами данных, обеспечивающие полную функциональность API.
Запустите npm run test
или yarn test
с запущенными ElasticSearch, PostgreSQL и Redis и соответствующими переменными среды (хосты, порты, учетные данные).
Вы можете использовать Docker-контейнеры базы данных (см. Использование серверного контейнера API) с соответствующим хостом (127.0.0.1) и портами (например, PostgreSQL: 6543).
Файлы тестов выполняются параллельно с AVA, используя несколько схем в базе данных PostgreSQL.
Тесты довольно ресурсоемки, и вам, вероятно, понадобится 4 ядра ЦП, чтобы запускать их в хороших условиях.
Более подробную информацию можно найти в документации сервера (тестирование).
Получение журналов сервера в режиме реального времени может быть очень полезно во время разработки или тестирования.
Вам просто нужно установить переменную среды:
ROARR_LOG=true yarn test
Чтобы просмотреть выходные данные вызовов console.log
во время тестов AVA, добавьте флаг --verbose
:
yarn test --verbose
Команда Stelace использует образ Docker API-сервера в производстве, а также проводит CI-тесты.
Вы также можете использовать серверный контейнер API для локального запуска тестов.
Убедитесь, что ElasticSearch, PostgreSQL и Redis работают после запуска контейнеров баз данных:
# 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 ' ;
Запустите тесты с помощью контейнерного API:
docker-compose run --rm api yarn test
# instead of standard local server with `yarn test`
Как упоминалось выше, мы рекомендуем использовать подходящие базы данных для производства. Вы можете размещать базы данных самостоятельно или экспортировать их с помощью поставщиков баз данных.
Ознакомьтесь с подробными процедурами настройки SSL для базы данных.
Ознакомьтесь с пояснениями по различным типам ключей API.
Публичные версии API Stelace, содержащие критические изменения, публично датированы 2019-05-20
но сам репозиторий следует правилам semver. Устаревшая версия является эквивалентом major
обновлений, например semver major.minor.patch
.
Старые устаревшие версии поддерживаются благодаря трансформерам, вдохновленным прекрасными примерами.
При внесении критических изменений (обозначается новой мажорной версией в этом репозитории согласно semver):
src/versions/index.js
description
в преобразователях запросов.Stelace имеет открытый исходный код , и вклад сообщества, в том числе и ваш, приветствуется!
Прежде чем внести вклад в Stelac:
Сервер API Stelace для веб-платформ лицензируется в соответствии с условиями Стандартной общественной лицензии GNU версии 3.
Свяжитесь с нами, чтобы обсудить другие варианты лицензирования или ознакомиться с нашими планами SaaS для размещенной серверной части и премиум-поддержки.
© Stelace Copyright © 2018 – настоящее время Sharinplace SAS.
Эта программа является свободным программным обеспечением: вы можете распространять ее и/или изменять в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Данная программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительную информацию см. в Стандартной общественной лицензии GNU.
Копия Стандартной общественной лицензии GNU включена в эту программу, а также доступна по адресу https://www.gnu.org/licenses/gpl-3.0.txt.
Сделано с ❤️ в Париже, Франция.