
Eine kostenlose Open-Source-E-Commerce-Plattform, die Ihnen die vollständige Kontrolle über Ihr Geschäft bietet.
Als gemeindebetriebenes Projekt stützt sich Solidus auf Mittel und Zeit, die von Entwicklern und Stakeholdern gespendet werden, die Solidus für ihre Unternehmen verwenden. Wenn Sie Solidus helfen möchten, weiter zu wachsen, sollten Sie sich bitte in Betracht ziehen:
Derzeit ist Nebulab der Hauptcode -Mitwirkende und Direktor von Solidus, der technische Leitlinien bietet und die Bemühungen und Aktivitäten der Gemeinschaft koordiniert.
Unterstützen Sie dieses Projekt, indem Sie ein Solidus -Botschafter werden. Ihr Logo wird hier mit einem Link zu Ihrer Website angezeigt. Werden Sie ein Botschafter.
Solidus ist eine komplette Open -Source -E -Commerce -Lösung, die mit Ruby on Rails gebaut wurde. Es ist eine Gabel mit Spree.
In der Solidus -Klassendokumentation und den Solidus -Führern finden Sie Informationen über die Funktionalität, die Solidus bietet.
Solidus besteht aus mehreren Edelsteinen. Wenn Sie das solidus -Gem in Ihrer Gemfile benötigen, installiert Bundler alle folgenden Edelsteine:
solidus_api (RESTFAFFUR API)solidus_backend (Administratorbereich)solidus_core (essentielle Modelle, Mailer und Klassen)solidus_sample (Beispieldaten) Alle Edelsteine sind so konzipiert, dass sie zusammenarbeiten, um eine voll funktionsfähige E -Commerce -Plattform zu bieten. Möglicherweise möchten Sie jedoch nur das solidus_core -Gem -Kombinieren mit Ihrem eigenen benutzerdefinierten Frontend, Admin -Schnittstelle und API verwenden.
Hier können Sie die Live Solidus -Demo probieren. Der Abschnitt über Administrator kann hier zugegriffen werden.
Stellen Sie mit der Installation von Imagemagick, die für Paperclip erforderlich sind. (Sie können es mit Homebrew installieren, wenn Sie sich auf einem Mac befinden.)
Um Solidus hinzuzufügen, beginnen Sie mit einer neu erstellten Rails -Anwendung mit seiner Datenbank.
rails new my_storeIm Root -Ordner Ihrer Anwendung laufen Sie:
bundle add solidus
bin/rails g solidus:installUnd befolgen Sie die Anweisungen der Eingabeaufforderung.
Starten Sie den Rails -Server mit dem Befehl:
bin/rails sDie StoreFront ist unter http: // localhost: 3000/zugänglich und der admin kann unter http: // localhost: 3000/admin/gefunden werden.
Informationen zum Anpassen Ihres Geschäfts finden Sie in den Anpassungsleitfäden.
Im Rahmen des Ausführens der oben genannten Installationsschritte werden Sie aufgefordert, eine Admin -E -Mail/Passwort -Kombination festzulegen. Die Standardwerte sind [email protected] bzw. test123 .
Der beste Weg, Fragen zu stellen, besteht darin, sich dem Solidus Slack anzuschließen und dem #Support -Kanal anzuschließen.
Verwenden Sie diese Linie anstelle eines stabilen Builds, wenn Sie die Blutungsversion von Solidus verwenden möchten:
gem 'solidus' , github : 'solidusio/solidus'HINWEIS: Der Master -Zweig ist garantiert nie in einem voll funktionsfähigen Zustand. Es ist zu riskant, diesen Zweig in der Produktion zu verwenden.
Standardmäßig wird der Installationsgenerator ( solidus:install ) Migrationen sowie Saatgut- und Stichprobendaten hinzufügen. Dies kann benutzt werden
bin/rails g solidus:install --migrate=false --sample=false --seed=falseSie können diese Schritte später jederzeit mit diesen Befehlen ausführen.
bin/rails railties:install:migrations
bin/rails db:migrate
bin/rails db:seed
bin/rails spree_sample:loadEs gibt auch Optionen und Rake -Aufgaben von Solidus_auth_devise.
Sie können feststellen, dass Ihr Solidus Store langsam im Entwicklungsmodus läuft. Dies kann daran liegen, dass in der Entwicklung jedes CSS und JavaScript als separate Einfügung geladen wird. Dies kann deaktiviert werden, indem die folgenden config/environments/development.rb hinzugefügt wird.
config . assets . debug = falseUm eine zusätzliche Geschwindigkeit zu erhalten, können Sie Turbrolinks innerhalb von Solidus admin ermöglichen.
gem 'turbolinks', '~> 5.0.0' in Ihre Gemfile (falls bereits vorhanden) hinzufügen und vendor/assets/javascripts/spree/backend/all.js wie folgt ändern:
//= require turbolinks
//
// ... current file content
//
//= require spree/backend/turbolinks-integration.jsAchtung Bitte beachten Sie, dass Turbrolinks Erweiterungen und/oder Anpassungen an den Solidus -Administrator brechen können. Verwenden Sie auf eigenes Risiko.
Klonen Sie das Git -Repo
git clone git://github.com/solidusio/solidus.git
cd solidusInstallieren Sie die Gem -Abhängigkeiten
bin/setupHinweis : Wenn Sie PostgreSQL oder MySQL verwenden, müssen Sie diese Edelsteine über die DB -Umgebungsvariable installieren.
# PostgreSQL
export DB=postgresql
bin/setup
# MySQL
export DB=mysql
bin/setupdocker-compose up -d Warten Sie, bis alle Edelsteine installiert sind (Fortschritte können über docker-compose logs -f app überprüft werden).
Sie können die Ruby -Version angeben, die Ihr Bild verwenden soll:
docker-compose build --build-arg RUBY_VERSION=3.0 app
docker-compose up -d Die Rails -Version kann zur Laufzeit über die Variable der RAILS_VERSION Environment angepasst werden:
RAILS_VERSION= ' ~> 5.0 ' docker-compose up -dAuslauftests:
# 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/rspecZugriff auf die Datenbanken:
# 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 Um auf die Sandbox -Anwendung zugreifen zu können, stellen Sie einfach sicher, dass Sie die --binding Option für rails server angeben. Standardmäßig ist Port 3000 freigelegt, Sie können diese jedoch durch die Umgebungsvariable SANDBOX_PORT ändern:
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 soll im Kontext der Rails -Anwendung ausgeführt werden. Sie können problemlos eine Sandbox -Anwendung in Ihrem geklonten Quellverzeichnis für Testzwecke erstellen.
Diese Sandbox enthält solidus_auth_devise und generiert mit bereits geladenen Saatgut- und Stichprobendaten.
Erstellen Sie die Sandbox -Anwendung
bin/sandboxSie können eine Sandbox mit PostgreSQL oder MySQL erstellen, indem Sie die DB -Umgebungsvariable festlegen.
# PostgreSQL
export DB=postgresql
bin/sandbox
# MySQL
export DB=mysql
bin/sandboxAbhängig von Ihrer lokalen Umgebung kann es für Sie erforderlich sein, Umgebungsvariablen für Ihre RDBMs festzulegen, nämlich:
DB_HOSTDB_USERDB_PASSWORD Wenn Sie eine Rails 5.2 -Anwendung für Ihren Sandkasten erstellen müssen, können Sie beispielsweise Ruby 2.4, der nicht von Rails 6 unterstützt wird, die Variable RAILS_VERSION -Umgebung verwenden.
export RAILS_VERSION= ' ~> 5.2.0 '
bin/setup
bin/sandboxSie können den Rails -Server und andere Dienste entweder aus dem Solidus -Ordner oder der Sandbox One starten, indem Sie den Befehl ausführen:
bin/dev Bitte beachten Sie: Wenn Sie bin/rails server oder ähnliche Befehle ausführen, wird nur der Rails -Server gestartet. Dies kann dazu führen, dass der Fehler couldn't find file 'solidus_admin/tailwind.css' wenn Sie versuchen, Administratorseiten zu laden.
Solidus verwendet RSPEC für Tests. Weitere Informationen zur Testbibliothek finden Sie in der Dokumentation.
Wir verwenden Circleci, um die Tests für Solidus sowie alle eingehenden Pull -Anfragen durchzuführen. Alle Zuganfragen müssen übergeben werden, um zusammengeführt zu werden.
Sie können die Build -Status unter https://circleci.com/gh/solidusio/solidus sehen.
Chromedriver ist erforderlich, um die Backend -Testsuiten durchzuführen.
Führen Sie das bin/build -Skript am Stamm zum Solidus -Projekt aus, um alle Testspezifikationen auszuführen:
createuser --superuser --echo postgres # only the first time
bin/build Das bin/build -Skript wird standardmäßig mit PostgreSQL ausgeführt. Es kann jedoch überschrieben werden, indem die DB -Umgebungsvariable auf DB=sqlite oder DB=mysql festgelegt wird. Zum Beispiel:
env DB=mysql bin/buildWenn der Befehl mit MySQL -verwandten Fehlern fehlschlägt, können Sie versuchen, einen Benutzer mit diesem Befehl zu erstellen:
# 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'; " Jedes Juwel enthält seine eigene Reihe von Tests. Um die Tests für das Kernprojekt durchzuführen:
cd core
bundle exec rspec Standardmäßig führt rspec die Tests für SQLite aus.
env DB=postgresql bundle exec rspecWenn Sie den SimplyCOV -Code -Code -Bericht ausführen möchten:
COVERAGE=true bundle exec rspecZusätzlich zu den Kernfunktionen in Solidus gibt es eine Reihe von Möglichkeiten, um Ihrem Geschäft Funktionen hinzuzufügen, die nicht Teil des Kernprojekts sind (oder noch nicht).
Eine Liste finden Sie bei Extensions.solidus.io.
Wenn Sie eine Erweiterung für Solidus schreiben möchten, können Sie das Edelstein für Solidus_dev_support verwenden.
Solidus ist ein Open -Source -Projekt und wir fördern Beiträge. Bitte lesen Sie den Beitrag zu, bevor Sie dazu beitragen.