
Une plate-forme de commerce électronique libre et open source qui vous donne un contrôle complet sur votre magasin.
En tant que projet axé sur la communauté, Solidus repose sur des fonds et du temps donné par des développeurs et des parties prenantes qui utilisent Solidus pour leurs entreprises. Si vous souhaitez aider Solidus à continuer de grandir, veuillez considérer:
À l'heure actuelle, Nebulab est le principal contributeur du code et directeur de Solidus, fournissant des conseils techniques et coordonnant les efforts et activités communautaires.
Soutenez ce projet en devenant un ambassadeur de Solidus. Votre logo apparaîtra ici avec un lien vers votre site Web. Devenir ambassadeur.
Solidus est une solution de commerce électronique open source complète construite avec Ruby sur Rails. C'est une fourche de cannette.
Voir la documentation de la classe Solidus et les guides Solidus pour obtenir des informations sur la fonctionnalité fournit Solidus.
Solidus se compose de plusieurs joyaux. Lorsque vous avez besoin de la gemme solidus dans votre Gemfile , Bundler installera tous les joyaux suivants:
solidus_api (API RESTFul)solidus_backend (zone d'administration)solidus_core (modèles essentiels, expéditeurs et classes)solidus_sample (exemple de données) Tous les joyaux sont conçus pour fonctionner ensemble pour fournir une plate-forme de commerce électronique entièrement fonctionnelle. Cependant, vous pouvez seulement utiliser le gemm solidus_core le combiner avec votre propre frontend, interface d'administration personnalisée et API.
Vous pouvez essayer la démo en direct Solidus ici. La section Admin est accessible ici.
Commencez par vous assurer que vous avez installé ImageMagick, qui est requis pour le papier. (Vous pouvez l'installer en utilisant HomeBrew si vous êtes sur un Mac.)
Pour ajouter Solidus, commencez par une application Rails nouvellement créée avec sa base de données.
rails new my_storeDans le dossier racine de votre application:
bundle add solidus
bin/rails g solidus:installEt suivez les instructions de l'invite.
Démarrez le serveur Rails avec la commande:
bin/rails sLa vitrine sera accessible sur http: // localhost: 3000 / et l'administrateur se trouve sur http: // localhost: 3000 / admin /.
Pour plus d'informations sur la façon de personnaliser votre magasin, consultez les guides de personnalisation.
Dans le cadre de l'exécution des étapes d'installation ci-dessus, il vous sera demandé de définir une combinaison par e-mail / mot de passe d'administration. Les valeurs par défaut sont [email protected] et test123 , respectivement.
La meilleure façon de poser des questions est de rejoindre le Solidus Slack et de rejoindre le canal #Support.
Au lieu d'une version stable, si vous souhaitez utiliser la version de bord de saignement de Solidus, utilisez cette ligne:
gem 'solidus' , github : 'solidusio/solidus'Remarque: La branche maître n'est pas garantie d'être dans un état pleinement fonctionnel. Il est trop risqué d'utiliser cette branche en production.
Par défaut, le générateur d'installation ( solidus:install ) exécutera des migrations ainsi que l'ajout de données de semences et d'échantillons. Cela peut être désactivé en utilisant
bin/rails g solidus:install --migrate=false --sample=false --seed=falseVous pouvez toujours effectuer l'une de ces étapes plus tard en utilisant ces commandes.
bin/rails railties:install:migrations
bin/rails db:migrate
bin/rails db:seed
bin/rails spree_sample:loadIl existe également des options et des tâches de râteau fournies par solide_auth_devise.
Vous remarquerez peut-être que votre magasin Solidus fonctionne lentement en mode développement. Cela peut être dû au fait que, en développement, chaque CSS et JavaScript est chargé comme un inclus distinct. Cela peut être désactivé en ajoutant ce qui suit à config/environments/development.rb .
config . assets . debug = falsePour gagner de la vitesse supplémentaire, vous pouvez activer les turbolinks à l'intérieur de Solidus Admin.
Ajoutez gem 'turbolinks', '~> 5.0.0' dans votre Gemfile (s'il n'est pas déjà présent) et modifiez vendor/assets/javascripts/spree/backend/all.js comme suit:
//= require turbolinks
//
// ... current file content
//
//= require spree/backend/turbolinks-integration.jsAttention , sachez que les turbolinks peuvent casser des extensions et / ou des personnalisations à l'administrateur Solidus. Utiliser à vos risques et périls.
Cloner le repo git
git clone git://github.com/solidusio/solidus.git
cd solidusInstallez les dépendances GEM
bin/setupRemarque : Si vous utilisez PostgreSQL ou MySQL, vous devrez installer ces gemmes via la variable d'environnement DB.
# PostgreSQL
export DB=postgresql
bin/setup
# MySQL
export DB=mysql
bin/setupdocker-compose up -d Attendez que tous les gemmes soient installés (les progrès peuvent être vérifiés via docker-compose logs -f app ).
Vous pouvez fournir la version Ruby que vous souhaitez que votre image utilise:
docker-compose build --build-arg RUBY_VERSION=3.0 app
docker-compose up -d La version Rails peut être personnalisée lors de l'exécution via la variable d'environnement RAILS_VERSION :
RAILS_VERSION= ' ~> 5.0 ' docker-compose up -dTests d'exécution:
# 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/rspecAccès aux bases de données:
# 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 Afin de pouvoir accéder à l'application Sandbox, assurez-vous simplement de fournir l'option --binding appropriée au rails server . Par défaut, le port 3000 est exposé, mais vous pouvez le modifier via la variable d'environnement 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 est censé être exécuté dans le contexte de l'application Rails. Vous pouvez facilement créer une application Sandbox à l'intérieur de votre répertoire source cloné à des fins de test.
Ce bac à sable comprend Solidus_auth_devise et génère avec des données de graines et d'échantillons déjà chargées.
Créer l'application Sandbox
bin/sandboxVous pouvez créer un bac à sable avec PostgreSQL ou MySQL en définissant la variable d'environnement DB.
# PostgreSQL
export DB=postgresql
bin/sandbox
# MySQL
export DB=mysql
bin/sandboxSelon votre environnement local, il peut être nécessaire pour vous de définir des variables d'environnement pour vos SGBDR, à savoir:
DB_HOSTDB_USERDB_PASSWORD Si vous devez créer une application Rails 5.2 pour votre bac à sable, par exemple, si vous utilisez toujours Ruby 2.4 qui n'est pas pris en charge par Rails 6, vous pouvez utiliser la variable d'environnement RAILS_VERSION .
export RAILS_VERSION= ' ~> 5.2.0 '
bin/setup
bin/sandboxVous pouvez démarrer le serveur Rails et d'autres services à partir du dossier Solidus ou du bac à sable en exécutant la commande:
bin/dev Veuillez noter: si vous exécutez bin/rails server ou des commandes similaires, seul le serveur Rails démarrera. Cela peut entraîner l'erreur que l'erreur couldn't find file 'solidus_admin/tailwind.css' lorsque vous essayez de charger des pages d'administration.
Solidus utilise RSPEC pour les tests. Reportez-vous à sa documentation pour plus d'informations sur la bibliothèque de tests.
Nous utilisons Circleci pour exécuter les tests pour Solidus ainsi que toutes les demandes de traction entrantes. Toutes les demandes de traction doivent passer pour être fusionnées.
Vous pouvez voir les statuts de construction sur https://circleci.com/gh/solidusio/solidus.
Chromedriver est nécessaire pour exécuter les suites de test backend.
Pour exécuter toutes les spécifications de test, exécutez le script bin/build à la racine du projet Solidus:
createuser --superuser --echo postgres # only the first time
bin/build Le script bin/build s'exécute à l'aide de PostgreSQL par défaut, mais il peut être remplacé en définissant la variable d'environnement DB sur DB=sqlite ou DB=mysql . Par exemple:
env DB=mysql bin/buildSi la commande échoue avec les erreurs liées à MySQL, vous pouvez essayer de créer un utilisateur avec cette commande:
# 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'; " Chaque joyau contient sa propre série de tests. Pour exécuter les tests pour le projet de base:
cd core
bundle exec rspec Par défaut, rspec exécute les tests pour SQLite 3. Si vous souhaitez exécuter des spécifications par rapport à une autre base de données, vous pouvez spécifier la base de données dans la commande:
env DB=postgresql bundle exec rspecSi vous souhaitez exécuter le rapport de couverture de code SimpleCov:
COVERAGE=true bundle exec rspecEn plus des fonctionnalités de base fournies dans Solidus, il existe un certain nombre de façons d'ajouter des fonctionnalités à votre magasin qui ne font pas (ou pas encore) du projet de base.
Une liste peut être trouvée sur extensions.solidus.io.
Si vous souhaitez rédiger une extension pour Solidus, vous pouvez utiliser le gemme solidus_dev_support.
Solidus est un projet open source et nous encourageons les contributions. Veuillez lire contribution.md avant de contribuer.