
Platform e-commerce open-source gratis yang memberi Anda kendali penuh atas toko Anda.
Sebagai proyek yang digerakkan oleh masyarakat, Solidus bergantung pada dana dan waktu yang disumbangkan oleh pengembang dan pemangku kepentingan yang menggunakan Solidus untuk bisnis mereka. Jika Anda ingin membantu Solidus terus tumbuh, silakan pertimbangkan:
Saat ini, Nebulab adalah kontributor kode utama dan Direktur Solidus, memberikan panduan teknis dan mengoordinasikan upaya dan kegiatan masyarakat.
Dukung proyek ini dengan menjadi Duta Besar Solidus. Logo Anda akan muncul di sini dengan tautan ke situs web Anda. Menjadi duta besar.
Solidus adalah solusi e -commerce open source lengkap yang dibangun dengan ruby di atas rel. Ini adalah garpu fok.
Lihat Dokumentasi Kelas Solidus dan Panduan Solidus untuk informasi tentang fungsionalitas yang disediakan Solidus.
Solidus terdiri dari beberapa permata. Saat Anda memerlukan permata solidus di Gemfile Anda, Bundler akan menginstal semua permata berikut:
solidus_api (API Restful)solidus_backend (area admin)solidus_core (model penting, surat, dan kelas)solidus_sample (data sampel) Semua permata dirancang untuk bekerja bersama untuk menyediakan platform e -commerce yang berfungsi penuh. Namun, Anda mungkin hanya ingin menggunakan permata solidus_core menggabungkannya dengan frontend kustom, antarmuka admin, dan API Anda sendiri.
Anda dapat mencoba demo solidus langsung di sini. Bagian admin dapat diakses di sini.
Mulailah dengan memastikan Anda memasang Imagemagick, yang diperlukan untuk penjepit kertas. (Anda dapat menginstalnya menggunakan Homebrew jika Anda menggunakan Mac.)
Untuk menambahkan Solidus, mulailah dengan aplikasi Rails yang baru dibuat dengan basis data.
rails new my_storeDi folder root aplikasi Anda dijalankan:
bundle add solidus
bin/rails g solidus:installDan ikuti instruksi prompt.
Mulai server Rails dengan perintah:
bin/rails sStorefront akan dapat diakses di http: // localhost: 3000/dan admin dapat ditemukan di http: // localhost: 3000/admin/.
Untuk informasi tentang cara menyesuaikan toko Anda, lihat panduan kustomisasi.
Sebagai bagian dari menjalankan langkah -langkah instalasi di atas, Anda akan diminta untuk mengatur kombinasi email/kata sandi admin. Nilai default masing -masing adalah [email protected] dan test123 .
Cara terbaik untuk mengajukan pertanyaan adalah dengan bergabung dengan Slackus Slack dan bergabung dengan saluran #Support.
Alih -alih bangunan yang stabil, jika Anda ingin menggunakan versi tepi solidus yang berdarah, gunakan baris ini:
gem 'solidus' , github : 'solidusio/solidus'Catatan: Cabang Master tidak dijamin berada dalam keadaan yang berfungsi penuh. Terlalu berisiko untuk menggunakan cabang ini dalam produksi.
Secara default, generator instalasi ( solidus:install ) akan menjalankan migrasi serta menambahkan data benih dan sampel. Ini dapat dinonaktifkan menggunakan
bin/rails g solidus:install --migrate=false --sample=false --seed=falseAnda selalu dapat melakukan salah satu dari langkah -langkah ini nanti dengan menggunakan perintah ini.
bin/rails railties:install:migrations
bin/rails db:migrate
bin/rails db:seed
bin/rails spree_sample:loadAda juga opsi dan tugas rake yang disediakan oleh Solidus_Auth_Devise.
Anda mungkin melihat bahwa toko Solidus Anda berjalan perlahan dalam mode pengembangan. Ini bisa karena dalam pengembangan setiap CSS dan JavaScript dimuat sebagai termasuk yang terpisah. Ini dapat dinonaktifkan dengan menambahkan yang berikut ini ke config/environments/development.rb .
config . assets . debug = falseUntuk mendapatkan kecepatan ekstra, Anda dapat mengaktifkan turbolink di dalam admin solidus.
Tambahkan gem 'turbolinks', '~> 5.0.0' ke dalam Gemfile Anda (jika belum ada) dan ubah vendor/assets/javascripts/spree/backend/all.js sebagai berikut:
//= require turbolinks
//
// ... current file content
//
//= require spree/backend/turbolinks-integration.jsPerhatian Perlu diketahui bahwa turbolink dapat memecahkan ekstensi dan/atau penyesuaian ke admin Solidus. Gunakan dengan risiko Anda sendiri.
Klone git repo
git clone git://github.com/solidusio/solidus.git
cd solidusInstal Ketergantungan Permata
bin/setupCatatan : Jika Anda menggunakan PostgreSQL atau MySQL, Anda harus menginstal permata tersebut melalui variabel lingkungan DB.
# PostgreSQL
export DB=postgresql
bin/setup
# MySQL
export DB=mysql
bin/setupdocker-compose up -d Tunggu semua permata diinstal (kemajuan dapat diperiksa melalui docker-compose logs -f app ).
Anda dapat memberikan versi Ruby yang Anda ingin gambar Anda gunakan:
docker-compose build --build-arg RUBY_VERSION=3.0 app
docker-compose up -d Versi Rails dapat disesuaikan saat runtime melalui variabel lingkungan RAILS_VERSION :
RAILS_VERSION= ' ~> 5.0 ' docker-compose up -dMenjalankan tes:
# 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/rspecMengakses database:
# 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 Agar dapat mengakses aplikasi kotak pasir, pastikan untuk memberikan opsi yang sesuai --binding ke rails server . Secara default, port 3000 diekspos, tetapi Anda dapat mengubahnya melalui variabel lingkungan 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 dimaksudkan untuk dijalankan dalam konteks aplikasi Rails. Anda dapat dengan mudah membuat aplikasi kotak pasir di dalam direktori sumber kloning Anda untuk tujuan pengujian.
Kotak pasir ini termasuk solidus_auth_devise dan menghasilkan dengan data benih dan sampel yang sudah dimuat.
Buat Aplikasi Sandbox
bin/sandboxAnda dapat membuat kotak pasir dengan PostgreSQL atau MySQL dengan mengatur variabel lingkungan DB.
# PostgreSQL
export DB=postgresql
bin/sandbox
# MySQL
export DB=mysql
bin/sandboxBergantung pada lingkungan lokal Anda, mungkin perlu bagi Anda untuk mengatur variabel lingkungan untuk RDBM Anda, yaitu:
DB_HOSTDB_USERDB_PASSWORD Jika Anda perlu membuat aplikasi Rails 5.2 untuk kotak pasir Anda, misalnya jika Anda masih menggunakan Ruby 2.4 yang tidak didukung oleh Rails 6, Anda dapat menggunakan variabel lingkungan RAILS_VERSION .
export RAILS_VERSION= ' ~> 5.2.0 '
bin/setup
bin/sandboxAnda dapat memulai server Rails dan layanan lain dari folder Solidus atau Sandbox One dengan menjalankan perintah:
bin/dev Harap dicatat: Jika Anda menjalankan bin/rails server atau perintah serupa, hanya server Rails yang akan dimulai. Ini mungkin menyebabkan kesalahan couldn't find file 'solidus_admin/tailwind.css' saat Anda mencoba memuat halaman admin.
Solidus menggunakan RSPEC untuk tes. Lihat dokumentasinya untuk informasi lebih lanjut tentang perpustakaan pengujian.
Kami menggunakan Circleci untuk menjalankan tes untuk Solidus serta semua permintaan tarik yang masuk. Semua permintaan tarik harus dilewati untuk digabungkan.
Anda dapat melihat status build di https://circleci.com/gh/solidusio/solidus.
Chromedriver diperlukan untuk menjalankan suite tes backend.
Untuk mengeksekusi semua spesifikasi uji, jalankan naskah bin/build pada akar proyek Solidus:
createuser --superuser --echo postgres # only the first time
bin/build bin/build Script berjalan menggunakan PostgreSQL secara default, tetapi dapat ditimpa dengan mengatur variabel lingkungan DB ke DB=sqlite atau DB=mysql . Misalnya:
env DB=mysql bin/buildJika perintah gagal dengan kesalahan terkait MySQL, Anda dapat mencoba membuat pengguna dengan perintah ini:
# 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'; " Setiap permata berisi serangkaian tesnya sendiri. Untuk menjalankan tes untuk proyek inti:
cd core
bundle exec rspec Secara default, rspec menjalankan tes untuk SQLite 3. Jika Anda ingin menjalankan spesifikasi terhadap database lain, Anda dapat menentukan database dalam perintah:
env DB=postgresql bundle exec rspecJika Anda ingin menjalankan Laporan Cakupan Kode SimpleCov:
COVERAGE=true bundle exec rspecSelain fungsi inti yang disediakan dalam Solidus, ada sejumlah cara untuk menambahkan fitur ke toko Anda yang belum (atau belum) bagian dari proyek inti.
Daftar dapat ditemukan di Extensions.solidus.io.
Jika Anda ingin menulis ekstensi untuk Solidus, Anda dapat menggunakan permata Solidus_Dev_Support.
Solidus adalah proyek open source dan kami mendorong kontribusi. Harap baca Contributing.md sebelum berkontribusi.