
상점을 완전히 제어 할 수있는 무료 오픈 소스 전자 상거래 플랫폼.
커뮤니티 중심의 프로젝트 인 Solidus는 비즈니스에 Solidus를 사용하는 개발자 및 이해 관계자가 기부 한 자금과 시간에 의존합니다. Solidus가 계속 성장하도록 돕고 싶다면 다음을 고려하십시오.
현재 Nebulab은 주요 코드 기고자이자 Solidus의 이사이며 기술 지침을 제공하고 커뮤니티 노력 및 활동을 조정합니다.
Solidus 대사가 되어이 프로젝트를 지원하십시오. 귀하의 로고는 귀하의 웹 사이트 링크와 함께 여기에 표시됩니다. 대사가 되십시오.
Solidus는 Ruby on Rails로 제작 된 완전한 오픈 소스 전자 상거래 솔루션입니다. 그것은 spree의 포크입니다.
Solidus가 제공하는 기능에 대한 정보는 Solidus 클래스 문서 및 Solidus 안내서를 참조하십시오.
Solidus는 여러 보석으로 구성됩니다. Gemfile 에 solidus 보석이 필요한 경우 Bundler는 다음 보석을 모두 설치합니다.
solidus_api (RESTFUL API)solidus_backend (관리 영역)solidus_core (필수 모델, 메일러 및 클래스)solidus_sample (샘플 데이터) 모든 보석은 완전히 기능적인 전자 상거래 플랫폼을 제공하기 위해 함께 작동하도록 설계되었습니다. 그러나 solidus_core gem을 자신의 사용자 정의 프론트 엔드, 관리자 인터페이스 및 API와 결합 할 수 있습니다.
여기에서 라이브 Solidus 데모를 시도해 볼 수 있습니다. 관리 섹션에 액세스 할 수 있습니다.
imagemagick이 설치되어 있는지 확인하십시오. (Mac에있는 경우 Homebrew를 사용하여 설치할 수 있습니다.)
solidus를 추가하려면 데이터베이스가 포함 된 새로 생성 된 Rails 응용 프로그램으로 시작하십시오.
rails new my_store응용 프로그램의 루트 폴더에서 실행 :
bundle add solidus
bin/rails g solidus:install프롬프트의 지침을 따르십시오.
명령으로 Rails 서버를 시작하십시오.
bin/rails s상점은 http : // localhost : 3000/에서 액세스 할 수 있으며 관리자는 http : // localhost : 3000/admin/에서 찾을 수 있습니다.
매장을 사용자 정의하는 방법에 대한 자세한 내용은 사용자 정의 안내서를 확인하십시오.
위의 설치 단계를 실행하는 데있어 관리자 이메일/비밀번호 조합을 설정하라는 메시지가 표시됩니다. 기본값은 각각 [email protected] 및 test123 입니다.
질문을하는 가장 좋은 방법은 Solidus Slack에 가입하고 #Support 채널에 가입하는 것입니다.
안정적인 빌드 대신 Solidus의 Bleeding Edge 버전을 사용하려면이 라인을 사용하십시오.
gem 'solidus' , github : 'solidusio/solidus'참고 : 마스터 브랜치는 완전히 기능하는 상태에 있지는 않습니다. 이 지점을 생산에 사용하는 것은 너무 위험합니다.
기본적으로 설치 생성기 ( solidus:install )는 종자 및 샘플 데이터를 추가 할뿐만 아니라 마이그레이션을 실행합니다. 이것은 사용 비활성화 될 수 있습니다
bin/rails g solidus:install --migrate=false --sample=false --seed=false이 명령을 사용하여 나중에이 단계를 항상 수행 할 수 있습니다.
bin/rails railties:install:migrations
bin/rails db:migrate
bin/rails db:seed
bin/rails spree_sample:loadsolidus_auth_devise가 제공하는 옵션 및 레이크 작업도 있습니다.
Solidus 상점이 개발 모드에서 천천히 실행된다는 것을 알 수 있습니다. 개발 중에 각 CSS 및 JavaScript는 별도의 포함로로드되기 때문일 수 있습니다. config/environments/development.rb 에 다음을 추가하여 비활성화 할 수 있습니다.
config . assets . debug = false여분의 속도를 얻으려면 solidus 관리자 내부에서 터보 링크를 사용할 수 있습니다.
gem 'turbolinks', '~> 5.0.0' Gemfile (아직 존재하지 않는 경우)에 추가하고 vendor/assets/javascripts/spree/backend/all.js 다음과 같이 변경하십시오.
//= require turbolinks
//
// ... current file content
//
//= require spree/backend/turbolinks-integration.js주의 TURBOLINKS는 Solidus 관리자에게 확장 및/또는 사용자 정의를 중단 할 수 있습니다. 자신의 위험에 사용하십시오.
git repo를 복제하십시오
git clone git://github.com/solidusio/solidus.git
cd solidus보석 의존성을 설치하십시오
bin/setup참고 : PostgreSQL 또는 MySQL을 사용하는 경우 DB 환경 변수를 통해 해당 보석을 설치해야합니다.
# PostgreSQL
export DB=postgresql
bin/setup
# MySQL
export DB=mysql
bin/setupdocker-compose up -d 모든 보석이 설치 될 때까지 기다립니다 ( docker-compose logs -f app 을 통해 진행 상황을 확인할 수 있음).
이미지를 사용하려는 루비 버전을 제공 할 수 있습니다.
docker-compose build --build-arg RUBY_VERSION=3.0 app
docker-compose up -d Rails 버전은 RAILS_VERSION 환경 변수를 통해 런타임에 사용자 정의 할 수 있습니다.
RAILS_VERSION= ' ~> 5.0 ' docker-compose up -d실행 테스트 :
# sqlite
docker-compose exec app bin/rspec
# postgres
docker-compose exec app env DB=postgres bin/rspec
# mysql
docker-compose exec app env DB=mysql bin/rspec데이터베이스 액세스 :
# sqlite
docker-compose exec app sqlite3 /path/to/db
# postgres
docker-compose exec app env PGPASSWORD=password psql -U root -h postgres
# mysql
docker-compose exec app mysql -u root -h mysql -ppassword 샌드 박스 응용 프로그램에 액세스하려면 rails server 에 적절한 --binding 옵션을 제공하십시오. 기본적으로 포트 3000 노출되지만 SANDBOX_PORT 환경 변수를 통해 변경할 수 있습니다.
SANDBOX_PORT=4000 docker-compose up -d
docker-compose exec app bin/sandbox
docker-compose exec app bin/rails server --binding 0.0.0.0 --port 4000Solidus는 Rails 응용 프로그램의 맥락에서 실행됩니다. 테스트 목적으로 복제 된 소스 디렉토리 내부에서 샌드 박스 응용 프로그램을 쉽게 만들 수 있습니다.
이 샌드 박스에는 solidus_auth_devise가 포함되어 있으며 이미로드 된 시드 및 샘플 데이터로 생성됩니다.
샌드 박스 응용 프로그램을 만듭니다
bin/sandboxDB 환경 변수를 설정하여 PostgreSQL 또는 MySQL로 샌드 박스를 만들 수 있습니다.
# PostgreSQL
export DB=postgresql
bin/sandbox
# MySQL
export DB=mysql
bin/sandbox지역 환경에 따라 RDBM의 환경 변수를 설정해야 할 수도 있습니다.
DB_HOSTDB_USERDB_PASSWORD 샌드 박스에 레일 5.2 응용 프로그램을 작성 해야하는 경우, 예를 들어 레일 6에서 지원하지 않는 루비 2.4를 사용하는 경우 RAILS_VERSION 환경 변수를 사용할 수 있습니다.
export RAILS_VERSION= ' ~> 5.2.0 '
bin/setup
bin/sandbox명령을 실행하여 Solidus 폴더 또는 샌드 박스 One에서 Rails 서버 및 기타 서비스를 시작할 수 있습니다.
bin/dev 참고 : bin/rails server 또는 이와 유사한 명령을 실행하는 경우 Rails 서버 만 시작됩니다. 관리자 페이지를로드하려고 할 때 오류가 couldn't find file 'solidus_admin/tailwind.css' .
Solidus는 테스트에 RSPEC을 사용합니다. 테스트 라이브러리에 대한 자세한 내용은 문서를 참조하십시오.
우리는 CircleCi를 사용하여 Solidus에 대한 테스트 및 모든 들어오는 풀 요청을 실행합니다. 모든 풀 요청은 통합되어야합니다.
https://circleci.com/gh/solidusio/solidus에서 빌드 상태를 볼 수 있습니다.
Chromedriver는 백엔드 테스트 스위트를 운영해야합니다.
모든 테스트 사양을 실행하려면 Solidus 프로젝트의 루트에서 bin/build 스크립트를 실행하십시오.
createuser --superuser --echo postgres # only the first time
bin/build bin/build 스크립트는 기본적으로 PostgreSQL을 사용하여 실행되지만 DB 환경 변수를 DB=sqlite 또는 DB=mysql 로 설정하여 재정의 할 수 있습니다. 예를 들어:
env DB=mysql bin/buildMySQL 관련 오류로 명령이 실패하면이 명령을 사용하여 사용자를 생성 할 수 있습니다.
# Creates a user with the same name as the current user and no restrictions.
mysql --user= " root " --execute= " CREATE USER ' $USER '@'localhost'; GRANT ALL PRIVILEGES ON * . * TO ' $USER '@'localhost'; " 각 보석에는 자체 일련의 테스트가 포함되어 있습니다. 핵심 프로젝트 테스트를 실행하려면 :
cd core
bundle exec rspec 기본적으로 rspec SQLITE 3에 대한 테스트를 실행합니다. 다른 데이터베이스에 대해 사양을 실행하려면 명령에 데이터베이스를 지정할 수 있습니다.
env DB=postgresql bundle exec rspecSimpleCov 코드 커버리지 보고서를 실행하려면 :
COVERAGE=true bundle exec rspecSolidus에서 제공되는 핵심 기능 외에도 핵심 프로젝트의 일부가 아닌 (또는 아직) 상점에 기능을 추가하는 방법에는 여러 가지가 있습니다.
목록은 Extensions.solidus.io에서 찾을 수 있습니다.
solidus에 대한 확장자를 쓰려면 solidus_dev_support gem을 사용할 수 있습니다.
Solidus는 오픈 소스 프로젝트이며 우리는 기부를 권장합니다. 기고하기 전에 Contributing.md를 읽으십시오.