
منصة التجارة الإلكترونية المجانية المفتوحة المصدر تمنحك تحكمًا كاملاً في متجرك.
كمشروع يحركه المجتمع ، يعتمد Solidus على الأموال والوقت الذي تبرع به المطورين وأصحاب المصلحة الذين يستخدمون Solidus لأعمالهم. إذا كنت ترغب في مساعدة Solidus على الاستمرار في النمو ، فيرجى مراعاة:
في الوقت الحاضر ، يعد Nebulab المساهم الرئيسي للمدونة ومدير Solidus ، حيث يقدم التوجيه التقني وتنسيق جهود وأنشطة المجتمع.
دعم هذا المشروع من خلال أن يصبح سفير Solidus. سيظهر شعارك هنا مع رابط لموقع الويب الخاص بك. كن سفيرًا.
Solidus هو محلول التجارة الإلكترونية مفتوح المصدر كامل المصدر مبني مع Ruby on Rails. إنه شوكة من فورة.
راجع وثائق فئة Solidus وأدلة Solidus للحصول على معلومات حول الوظيفة التي توفرها Solidus.
يتكون Solidus من العديد من الأحجار الكريمة. عندما تحتاج إلى GEM solidus في Gemfile ، فإن Bundler سوف يقوم بتثبيت جميع الأحجار الكريمة التالية:
solidus_api (API Restful)solidus_backend (منطقة المشرف)solidus_core (النماذج الأساسية والبريدات والفصول)solidus_sample (نموذج بيانات) تم تصميم جميع الأحجار الكريمة للعمل معًا لتوفير منصة للتجارة الإلكترونية الكاملة. ومع ذلك ، قد ترغب فقط في استخدام GEM solidus_core مع الجمع بين الواجهة الأمامية المخصصة ، وواجهة المسؤول ، و API.
يمكنك تجربة العرض التوضيحي Solidus Live هنا. يمكن الوصول إلى قسم المشرف هنا.
ابدأ بالتأكد من تثبيت ImageMagick ، وهو أمر مطلوب لـ PaperClip. (يمكنك تثبيته باستخدام Homebrew إذا كنت على جهاز Mac.)
لإضافة 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 ، استخدم هذا السطر:
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.
أضف 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
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 4000من المفترض أن يتم تشغيل Solidus في سياق تطبيق Rails. يمكنك بسهولة إنشاء تطبيق Sandbox داخل دليل المصدر المستنسخ لأغراض الاختبار.
يتضمن صندوق الرمل هذا solidus_auth_devise ويولد مع بيانات البذور والعينة المحملة بالفعل.
إنشاء تطبيق Sandbox
bin/sandboxيمكنك إنشاء صندوق رمل مع postgreSQL أو MySQL عن طريق تعيين متغير بيئة DB.
# 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يمكنك بدء تشغيل خادم 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 باستخدام 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 ، فيمكنك استخدام GEM Solidus_dev_support.
Solidus هو مشروع مفتوح المصدر ونشجع المساهمات. يرجى قراءة المساهمة. md قبل المساهمة.