
Бесплатная платформа электронной коммерции с открытым исходным кодом, которая дает вам полный контроль над вашим магазином.
В качестве общественного проекта Solidus полагается на средства и время, пожертвованные разработчиками и заинтересованными сторонами, которые используют Solidus для своего бизнеса. Если вы хотите помочь Solidus продолжать расти, пожалуйста, подумайте:
В настоящее время Nebulab является основным участником кодекса и директором Solidus, предоставляя технические руководства и координируя усилия и деятельность сообщества.
Поддержите этот проект, став послом Solidus. Ваш логотип будет отображаться здесь со ссылкой на ваш сайт. Стать послом.
Solidus - это полное решение для электронной коммерции с открытым исходным кодом, построенное с Ruby на рельсах. Это вилка Spree.
См. Документацию Coldus Crass и руководства Solidus для получения информации о функциональности, которую предоставляет Solidus.
Solidus состоит из нескольких драгоценных камней. Если вам потребуется драгоценный камень solidus в вашем Gemfile , Bundler установит все следующие драгоценные камни:
solidus_api (Restful API)solidus_backend (область администратора)solidus_core (Основные модели, почтовые почты и классы)solidus_sample (образец данных) Все драгоценные камни предназначены для совместной работы, чтобы обеспечить полностью функциональную платформу электронной коммерции. Тем не менее, вы можете использовать только GEM solidus_core объединить его с вашим собственным фронталом, интерфейсом администратора и API.
Вы можете попробовать демонстрацию Live Solidus здесь. Секция администратора можно получить здесь.
Начните с того, что убедитесь, что у вас установлен Imagemagick, который требуется для скрепки. (Вы можете установить его с помощью Homebrew, если вы на Mac.)
Чтобы добавить Solidus, начните с недавно созданного приложения Rails с ее базой данных.
rails new my_storeВ запуск корневой папки вашего приложения:
bundle add solidus
bin/rails g solidus:installИ следуйте инструкциям подсказки.
Запустите сервер Rails с командой:
bin/rails sStorefront будет доступна по адресу 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:loadСуществуют также варианты и грабли, предоставленные SolidUS_AUTH_DEVISE.
Вы можете заметить, что ваш магазин Solidus медленно работает в режиме разработки. Это может быть связано с тем, что в разработке каждый CSS и JavaScript загружаются как отдельное включение. Это может быть отключено, добавив следующее в config/environments/development.rb .
config . assets . debug = falseЧтобы получить дополнительную скорость, вы можете включить Turbolinks внутри 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. Используйте свой собственный риск.
Клонировать 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 ).
Вы можете предоставить версию Ruby, которую вы хотите, чтобы ваше изображение использовало:
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 Чтобы иметь возможность получить доступ к приложению Sandbox, просто обязательно предоставьте соответствующую опцию --binding с rails server . По умолчанию, порт 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Вы можете создать песочницу с PostgreSQL или MySQL, установив переменную среды DB.
# PostgreSQL
export DB=postgresql
bin/sandbox
# MySQL
export DB=mysql
bin/sandboxВ зависимости от вашей местной среды, вам может потребоваться установить переменные среды для ваших оборотов, а именно:
DB_HOSTDB_USERDB_PASSWORD Если вам нужно создать приложение Rails 5.2 для вашей песочницы, например, если вы все еще используете Ruby 2.4, которое не поддерживается Rails 6, вы можете использовать переменную среды RAILS_VERSION .
export RAILS_VERSION= ' ~> 5.2.0 '
bin/setup
bin/sandboxВы можете запустить сервер Rails и другие службы из папки Solidus или Sandbox One, выполнив команду:
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 необходим для запуска бэкэнд -тестовых люксов.
Чтобы выполнить все тестовые характеристики, запустите сценарий bin/build в корне проекта Solidus:
createuser --superuser --echo postgres # only the first time
bin/build Сценарий bin/build работает по умолчанию по умолчанию, но его можно переопределить, установив переменную среды 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.
Solidus - это проект с открытым исходным кодом, и мы поощряем вклад. Пожалуйста, прочитайте Anforming.md, прежде чем внести свой вклад.