
Una plataforma gratuita de comercio electrónico de código abierto que le brinda un control completo sobre su tienda.
Como proyecto impulsado por la comunidad, Solidus se basa en fondos y tiempo donados por desarrolladores y partes interesadas que usan Solidus para sus negocios. Si desea ayudar a Solidus a seguir creciendo, considere:
En la actualidad, Nebulab es el principal contribuyente y director de Solidus, que brinda orientación técnica y coordina los esfuerzos y actividades de la comunidad.
Apoye este proyecto al convertirse en un embajador de Solidus. Su logotipo aparecerá aquí con un enlace a su sitio web. Convertirse en embajador.
Solidus es una solución completa de comercio electrónico de código abierto construida con rubí en rieles. Es una bifurcación de spree.
Consulte la documentación de la clase Solidus y las guías de Solidus para obtener información sobre la funcionalidad que proporciona Solidus.
Solidus consta de varias gemas. Cuando necesite la gema solidus en su Gemfile , Bundler instalará todas las siguientes gemas:
solidus_api (API RESTFUL)solidus_backend (área de administración)solidus_core (modelos esenciales, correo y clases)solidus_sample (datos de muestra) Todas las gemas están diseñadas para trabajar juntas para proporcionar una plataforma de comercio electrónico completamente funcional. Sin embargo, es posible que solo desee usar la gema solidus_core Combinarlo con su propia interfaz de interfaz personalizada, interfaz de administración y API.
Puedes probar la demostración de Live Solidus aquí. Se puede acceder a la sección de administración aquí.
Comience asegurándose de tener ImageMagick instalado, lo que se requiere para PaperClip. (Puede instalarlo usando HomeBrew si está en una Mac).
Para agregar Solidus, comience con una aplicación Rails recientemente creada con su base de datos.
rails new my_storeEn la carpeta raíz de su aplicación Ejecutar:
bundle add solidus
bin/rails g solidus:installY siga las instrucciones del aviso.
Inicie el servidor Rails con el comando:
bin/rails sSe puede acceder a la tienda en http: // localhost: 3000/y el administrador se puede encontrar en http: // localhost: 3000/admin/.
Para obtener información sobre cómo personalizar su tienda, consulte las guías de personalización.
Como parte de ejecutar los pasos de instalación anteriores, se le pedirá que establezca una combinación de correo electrónico/contraseña de administración. Los valores predeterminados son [email protected] y test123 , respectivamente.
La mejor manera de hacer preguntas es unirse al Solidus Slack y unirse al canal #Support.
En lugar de una construcción estable, si desea usar la versión de borde de sangrado de Solidus, use esta línea:
gem 'solidus' , github : 'solidusio/solidus'NOTA: No se garantiza que la rama maestra esté en un estado completamente funcional. Es demasiado arriesgado usar esta rama en la producción.
Por defecto, el generador de instalación ( solidus:install ) ejecutará migraciones y agregará datos de semillas y muestras. Esto se puede deshabilitar usando
bin/rails g solidus:install --migrate=false --sample=false --seed=falseSiempre puede realizar cualquiera de estos pasos más adelante utilizando estos comandos.
bin/rails railties:install:migrations
bin/rails db:migrate
bin/rails db:seed
bin/rails spree_sample:loadTambién hay opciones y tareas de rastrillo proporcionadas por Solidus_Auth_Devise.
Puede notar que su tienda Solidus se ejecuta lentamente en modo de desarrollo. Esto puede deberse a que en el desarrollo cada CSS y JavaScript se carga como un incluido separado. Esto se puede deshabilitar agregando lo siguiente a config/environments/development.rb .
config . assets . debug = falsePara ganar algo de velocidad adicional, puede habilitar Turbolinks dentro de Solidus Admin.
Agregue gem 'turbolinks', '~> 5.0.0' a su Gemfile (si no está ya presente) y cambie vendor/assets/javascripts/spree/backend/all.js de la siguiente manera:
//= require turbolinks
//
// ... current file content
//
//= require spree/backend/turbolinks-integration.jsPRECAUCIÓN Tenga en cuenta que Turbolinks puede romper extensiones y/o personalizaciones al administrador de Solidus. Use bajo su propio riesgo.
Clon the Git Repo
git clone git://github.com/solidusio/solidus.git
cd solidusInstale las dependencias de gemas
bin/setupNota : Si está utilizando PostgreSQL o MySQL, deberá instalar esas gemas a través de la variable de entorno DB.
# PostgreSQL
export DB=postgresql
bin/setup
# MySQL
export DB=mysql
bin/setupdocker-compose up -d Espere a que se instalen todas las gemas (el progreso se puede verificar a través de docker-compose logs -f app ).
Puede proporcionar la versión Ruby que desea que use su imagen:
docker-compose build --build-arg RUBY_VERSION=3.0 app
docker-compose up -d La versión Rails se puede personalizar en tiempo de ejecución a través de la variable de entorno RAILS_VERSION :
RAILS_VERSION= ' ~> 5.0 ' docker-compose up -dPruebas de ejecución:
# 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/rspecAcceso a las bases de datos:
# 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 Para poder acceder a la aplicación Sandbox, solo asegúrese de proporcionar la opción --binding apropiada para rails server . Por defecto, el puerto 3000 está expuesto, pero puede cambiarlo a través de la variable de entorno 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á destinado a ejecutarse dentro del contexto de la aplicación Rails. Puede crear fácilmente una aplicación Sandbox dentro de su directorio fuente clonado para fines de prueba.
Este sandbox incluye Solidus_Auth_Devise y genera con datos de semillas y muestras ya cargadas.
Crea la aplicación Sandbox
bin/sandboxPuede crear un Sandbox con PostgreSQL o MySQL configurando la variable de entorno DB.
# PostgreSQL
export DB=postgresql
bin/sandbox
# MySQL
export DB=mysql
bin/sandboxDependiendo de su entorno local, puede ser necesario que establezca variables de entorno para su RDBMS, a saber:
DB_HOSTDB_USERDB_PASSWORD Si necesita crear una aplicación Rails 5.2 para su Sandbox, por ejemplo, si todavía está usando Ruby 2.4 que no es compatible con Rails 6, puede usar la variable de entorno RAILS_VERSION .
export RAILS_VERSION= ' ~> 5.2.0 '
bin/setup
bin/sandboxPuede iniciar el servidor Rails y otros servicios desde la carpeta Solidus o el Sandbox One ejecutando el comando:
bin/dev Tenga en cuenta: si ejecuta bin/rails server o comandos similares, solo se iniciará el servidor Rails. Esto podría causar que el error couldn't find file 'solidus_admin/tailwind.css' cuando intente cargar páginas de administración.
Solidus usa RSPEC para pruebas. Consulte su documentación para obtener más información sobre la biblioteca de pruebas.
Utilizamos CIRCLECI para ejecutar las pruebas para Solidus, así como todas las solicitudes de extracción entrantes. Todas las solicitudes de extracción deben pasar para fusionarse.
Puede ver los estados de compilación en https://circleci.com/gh/solidusio/solidus.
Se requiere cromedriver para ejecutar las suites de prueba de backend.
Para ejecutar todas las especificaciones de prueba, ejecute el script bin/build en la raíz del proyecto Solidus:
createuser --superuser --echo postgres # only the first time
bin/build El script bin/build se ejecuta usando PostgreSQL de forma predeterminada, pero se puede anular estableciendo la variable de entorno DB en DB=sqlite o DB=mysql . Por ejemplo:
env DB=mysql bin/buildSi el comando falla con errores relacionados con MySQL, puede intentar crear un usuario con este comando:
# 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'; " Cada gema contiene su propia serie de pruebas. Para ejecutar las pruebas para el proyecto central:
cd core
bundle exec rspec Por defecto, rspec ejecuta las pruebas para SQLite 3. Si desea ejecutar especificaciones en otra base de datos, puede especificar la base de datos en el comando:
env DB=postgresql bundle exec rspecSi desea ejecutar el informe de cobertura del código SimpleCov:
COVERAGE=true bundle exec rspecAdemás de la funcionalidad central proporcionada en Solidus, hay varias formas de agregar características a su tienda que no forman (o no) parte del proyecto central.
Se puede encontrar una lista en Extensions.solidus.io.
Si desea escribir una extensión para Solidus, puede usar la gema Solidus_Dev_Support.
Solidus es un proyecto de código abierto y fomentamos las contribuciones. Lea Contriping.MD antes de contribuir.