
一个免费的开源电子商务平台,可让您完全控制商店。
作为一个社区驱动的项目,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 )将运行迁移以及添加种子和样本数据。可以使用
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是一个开源项目,我们鼓励捐款。贡献之前,请阅读贡献。