Discover Our Blog

Why choose Spree Commerce in 2018

Why choose Spree Commerce in 2018


Spree Commerce is a complete, scalable, API-driven open source Ecommerce framework. It is built with Ruby on Rails, empowering forward thinking developers for years. In 2018 Spree is a matured and market proven technology.

Spree is well suited to serve as a custom technology platform for any type of an Ecommerce application: an online shop, a multi vendor marketplace, a rich-content driven commerce project, a social commerce website or a backend engine for an Ecommerce mobile or tablet app (iOS, Android).

Spree allows you to design and develop a unique, beautiful front-end UX. On the backend it combines API driven omni-channel support with multiple stock location capability, enabling business scalability and flexibility.

Spree allows for rapid development and short time to market because its lean core functionality may be easily customized with a collection of official extensions, as well as hundreds of unofficial ones. By applying these extensions you may customize Spree to your specific use case, industry or a business model.

Integrating Spree using ruby on rails

    1. Prerequisites

Before integrating spree in our ruby on rails application we will require the following prerequisites.

      • Ubuntu OS(14.04 or higher)
      • Sublime text/ VScode(Editor)
      • Ruby 2.3.0 or higher
      • Rails 4.2 or higher
      • Database(MySql/Sqlite/psql)
      • Heroku setup(optional)
    1. Installation guide

The following steps will guide us how to integrate spree in our rails application.

  • Create ruby on rails application
  • For ex., rails new SpreeDemo -d
    database: Name of the database(mysql, psql etc)

  • Add the specific required gem in the gemfile.
    Rails 5.1
    gem 'spree', '~> 3.4.4'
    gem 'spree_auth_devise', '~> 3.3'
    gem 'spree_gateway', '~> 3.3'
    Rails 5.0
    gem 'spree', '~> 3.2.7'
    gem 'spree_auth_devise', '~> 3.3'
    gem 'spree_gateway', '~> 3.3'
    Rails 4.2
    gem 'spree', '~> 3.1.12'
    gem 'spree_auth_devise', '~> 3.3'
    gem 'spree_gateway', '~> 3.3'
    • Run the following rake commands and generator commands.
      1. bundle install
      2. Use the install generators to set up Spree:
  • rails g spree:install --user_class=Spree::User
    rails g spree:auth:install
    rails g spree_gateway:install
        • Rake setup
    bundle exec rake railties:install:migrations
    bundle exec rake db:migrate
    bundle exec rake db:seed
    bundle exec rake spree_sample:load

    1. Customization
  • To meet the business requirement we have to override/ extend the classes and views.
  • Standard practice for including such changes in your application or extension is to create a file within the relevant app/models/spree or app/controllers/spree directory with the original class name with _decorator
  • Adding a custom method to the Product model:
    Spree::Product.class_eval do
    def some_method

  • Adding a custom action to the ProductsController:
    Spree::ProductsController.class_eval do
    def some_action
  • You can export all views from spree frontend into your application using rails generate spree:frontend:copy_viewsThis is the recommended way of customizing views in Spree.
  1. Websites built in Spree
  2. Market Statistics
    This is the APR-2017 market statistics. This market statistics shows the difference between shopify and spree commerce. The difference is due to its use and handling. The shopify eCommerce store can be created and published by anyone. But, spree commerce have to be integrated and published manually by application programmers(web developers). spree-commerce
  3. Advantages
    • Easily customizable construction allowing users to create the ideal store for their business.
    • Light, fast, and flexible with a powerful backend admin module.
    • Comprehensive support package plus Ruby on Rails community offers solid and reliable support.
    • Spree officially maintains many extensions to provide additional functionality that isn’t available out of the box.
    • Fast and easy integrations with third-party solutions
  4. Disadvantages
    • Coding skills or technical assistance are needed.
    • Currently, only a handful of themes is available.
    • In some cases, some “common” functionality may require custom development.
      This platform doesn’t provide any support in a traditional sense, but still, you can find a forum and tons of useful documentation on the web. Plus, there’s a Ruby on Rails community which maintains Spree, making it stable, multi-functional and free.
  5. Screenshots

    Admin Page:

    Front End:
  6. Reference


Leave a comment: