
一個免費的開源電子商務平台,可讓您完全控製商店。
作為一個社區驅動的項目,Solidus依靠使用Solidus為業務的開發人員和利益相關者捐贈的資金和時間。如果您想幫助Solidus繼續發展,請考慮:
目前,Nebulab是Solidus的主要守則撰稿人和總監,提供了技術指導並協調社區的努力和活動。
通過成為一名實心大使來支持這個項目。您的徽標將在此處顯示您網站的鏈接。成為大使。
Solidus是使用Ruby在Rails上建造的完整的開源電子商務解決方案。這是狂歡的叉子。
有關SILDUS提供的功能的信息,請參見Solidus類文檔和Solidus指南。
固體由幾種寶石組成。當您在Gemfile中需要solidus Gem時,Bundler將安裝以下所有寶石:
solidus_api (RESTFUL API)solidus_backend (管理區域)solidus_core (基本模型,郵件和類)solidus_sample (示例數據)所有的寶石旨在共同努力,以提供功能齊全的電子商務平台。但是,您可能只想使用solidus_core Gem將其與您自己的自定義前端,管理接口和API結合使用。
您可以在此處嘗試實時的SIDOUS演示。可以在此處訪問管理員部分。
首先要確保已安裝成像,這是回形針所需的。 (如果您在Mac上,可以使用Homebrew進行安裝。)
要添加SOLIDUS,請從具有其數據庫的新創建的Rails應用程序開始。
rails new my_store在您應用程序的根文件夾中運行:
bundle add solidus
bin/rails g solidus:install並按照提示的說明進行操作。
使用命令啟動Rails Server:
bin/rails s店面將在http:// localhost:3000/可以訪問,可以在http:// localhost:3000/admin/。
有關如何自定義商店的信息,請查看自定義指南。
作為運行上述安裝步驟的一部分,將要求您設置管理員電子郵件/密碼組合。默認值分別為[email protected]和test123 。
提出問題的最佳方法是加入Solidus Slack並加入#support頻道。
而不是穩定的構建,如果要使用Solidus的出血邊緣版本,請使用此行:
gem 'solidus' , github : 'solidusio/solidus'注意:主分支不能保證始終處於功能齊全的狀態。在生產中使用該分支機構太冒險了。
默認情況下, solidus:install 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 Admin內部啟用渦輪鏈接。
將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 Admin。自行使用。
克隆git倉庫
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檢查進度)。
您可以提供希望使用圖像的Ruby版本:
docker-compose build --build-arg RUBY_VERSION=3.0 app
docker-compose up -d可以通過RAILS_VERSION環境變量在運行時自定義Rails版本:
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/sandbox您可以通過設置DB環境變量來創建帶有PostgreSQL或MySQL的沙盒。
# PostgreSQL
export DB=postgresql
bin/sandbox
# MySQL
export DB=mysql
bin/sandbox根據您當地的環境,您可能有必要為RDBMS設置環境變量,即:
DB_HOSTDB_USERDB_PASSWORD如果您需要為沙箱創建Rails 5.2應用程序,例如,如果您仍在使用Ruby 2.4(Rails 6不支持),則可以使用RAILS_VERSION環境變量。
export RAILS_VERSION= ' ~> 5.2.0 '
bin/setup
bin/sandbox您可以通過運行命令來從Solidus文件夾或沙盒One啟動Rails Server和其他服務:
bin/dev請注意:如果您運行bin/rails server或類似命令,則只能啟動Rails服務器。這可能會導致錯誤在嘗試加載管理頁面時couldn't find file 'solidus_admin/tailwind.css' 。
Solidus使用RSPEC進行測試。有關測試庫的更多信息,請參閱其文檔。
我們使用CircleCi來運行SILDUS的測試以及所有傳入的拉力請求。所有拉的請求必須通過合併。
您可以在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/build如果命令與MySQL相關錯誤失敗,則可以嘗試使用此命令創建用戶:
# 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 rspec如果要運行SimpleCov代碼覆蓋範圍報告:
COVERAGE=true bundle exec rspec除了Solidus提供的核心功能外,還有多種方法可以在商店中添加核心項目(或尚未)一部分的功能。
可以在Extensions.solidus.io中找到列表。
如果要為Solidus編寫擴展名,則可以使用Solidus_Dev_support GEM。
Solidus是一個開源項目,我們鼓勵捐款。貢獻之前,請閱讀貢獻。