개발 팀이 그 어느 때보다 빠르게 지속적인 플랫폼과 마켓플레이스를 구축, 실행 및 확장할 수 있도록 지원하는 오픈 소스 백엔드 및 API 스택입니다.
Stelace.com | 문서 | 블로그 | 지저귀다
포함:
전체 스택 경험을 위해 여기에서 오픈 소스 Vue.js 프런트엔드 템플릿을 사용하여 시작할 수 있습니다.
Stelace를 배포하고 활용하는 가장 쉬운 방법은 공식 관리형 인프라를 이용하는 것입니다. 고가용성 배포, 자동 확장, 내장된 테스트 및 라이브 환경, 관리 대시보드를 통해 몇 분 만에 새로운 플랫폼 백엔드를 가동하고 실행할 수 있습니다. 기업 고객에게는 SLA, 전용 인프라 및 프리미엄 지원도 제공됩니다.
와 함께:
문서 및 API 참조에 나열된 모든 API .
관리 대시보드 UI는 서비스형 소프트웨어(Software-as-a-Service) 제공과 연결되어 있으며 오픈 소스가 아닙니다. 커뮤니티와 직원이 협력하여 이를 실현하지 않는 한 절대 그럴 수 없습니다.
그게 다야!
이는 Stelace 지원이나 SLA가 필요하지 않고 자체 관리 UI를 구축할 준비가 되었거나 필요하지 않은 경우 언제든지 SaaS 계획과 자체 호스팅 간에 자유롭게 전환할 수 있음을 의미합니다 .
참고: 앱 UI를 위해 오픈 소스 프런트엔드 템플릿도 제작했습니다.
Docker CE/EE를 설치하려면 Docker 웹사이트로 이동하세요. 귀하의 시스템에 적합한 설치 안내서를 선택하십시오.
공식 지침을 참조하세요.
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)에 구축되어 배포되므로 다른 OS에서 서버를 실행하는 데 문제가 있을 수 있습니다.
Docker는 이 문제를 쉽게 해결할 수 있습니다.
컨테이너화된 API 및 데이터베이스를 사용할 때 .env
파일에서 호스트를 127.0.0.1
에서 elasticsearch
, postgresql
및 redis
로 변경하기만 하면 됩니다.
종속성을 설치하고 데이터베이스를 초기화하는 방법은 다음과 같습니다.
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
참고: 프로젝트 루트 디렉터리는 공유되는 node_modules
포함하여 개발 중에 Docker 볼륨으로 사용됩니다. 일반 서버와 서버 컨테이너 설정 간에 전환할 때 종속성을 다시 설치해야 합니다.
달리다:
docker-compose up -d
프로젝트 루트에서 실행하는 데 유용한 명령은 다음과 같습니다.
docker-compose logs -f api
docker-compose down
docker volume prune
팁: 개발 중에 컨테이너와 볼륨을 재설정하려면 yarn docker:db:reset
사용하세요. 이는 손상된 데이터베이스 또는 Redis 저장소 데이터에 문제가 있거나 데이터베이스를 업그레이드하려는 경우에 유용할 수 있습니다( 경고 : 컨테이너 데이터 및 볼륨이 손실됩니다).
테스트는 대부분 전체 API 기능을 포괄하기 위해 실행 중인 데이터베이스와의 통합 테스트입니다.
ElasticSearch, PostgreSQL 및 Redis 실행과 적절한 환경 변수(호스트, 포트, 자격 증명)를 사용하여 npm run test
또는 yarn test
실행하세요.
적절한 호스트(127.0.0.1) 및 포트(예: PostgreSQL: 6543)가 있는 데이터베이스 Docker 컨테이너(API 서버 컨테이너 사용 참조)를 사용할 수 있습니다.
테스트 파일은 PostgreSQL 데이터베이스의 여러 스키마를 사용하여 AVA와 병렬로 실행됩니다.
테스트는 상당히 CPU 집약적이므로 좋은 조건에서 실행하려면 4개의 CPU 코어가 필요할 것입니다.
자세한 내용은 서버 문서(테스트)를 참조하세요.
서버 로그를 실시간으로 가져오는 것은 개발이나 테스트 중에 매우 유용할 수 있습니다.
환경 변수를 설정하기만 하면 됩니다.
ROARR_LOG=true yarn test
AVA 테스트 중 console.log
호출의 출력을 보려면 --verbose
플래그를 추가하세요.
yarn test --verbose
Stelace 팀은 프로덕션에서 API 서버 Docker 이미지를 사용하므로 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 키에 대한 설명을 찾아보세요.
주요 변경 사항을 도입한 Stelace API 공개 버전은 2019-05-20
과 같이 공개 날짜가 지정되었지만 저장소 자체는 semver 규칙을 따릅니다. 날짜가 지정된 버전은 semver major.minor.patch
에서와 같이 major
업데이트와 동일합니다.
훌륭한 예제에서 영감을 받은 변환기 덕분에 오래된 버전이 지원됩니다.
주요 변경 사항을 도입하는 경우(semver에 따라 이 저장소의 새로운 주요 버전으로 표시됨):
src/versions/index.js
에 추가되었습니다.description
필드를 사용하여 문서화됩니다.Stelace는 오픈 소스 이며 귀하를 포함한 커뮤니티의 기여를 환영합니다!
Stelace에 기여하기 전에:
웹 플랫폼용 Stelace API 서버는 GNU General Public License 버전 3의 조건에 따라 라이센스가 부여됩니다.
다른 라이센스 옵션에 대해 논의하려면 당사에 문의하거나 호스팅 백엔드 및 프리미엄 지원에 대한 SaaS 계획을 살펴보십시오.
Stelace 저작권 © 2018-현재 Sharinplace SAS.
이 프로그램은 무료 소프트웨어입니다. 자유 소프트웨어 재단에서 게시한 GNU General Public License(라이센스 버전 3) 또는 (귀하의 선택에 따라) 이후 버전의 조건에 따라 재배포 및/또는 수정할 수 있습니다.
이 프로그램은 유용할 것이라는 희망으로 배포되지만 어떠한 보증도 제공하지 않습니다. 상품성이나 특정 목적에의 적합성에 대한 묵시적인 보증도 제공되지 않습니다. 자세한 내용은 GNU 일반 공중 사용 허가서를 참조하세요.
GNU General Public License의 사본이 이 프로그램에 포함되어 있으며 https://www.gnu.org/licenses/gpl-3.0.txt에서도 사용할 수 있습니다.
프랑스 파리에서 ❤️로 제작되었습니다.