Top Spree E-Commerce Extensions to Build Ruby E-Commerce Store

by on

Spree E-Commerce is a complete, scalable, API-driven open source E-commerce framework built with Ruby on Rails. Spree is well suited to serve as a custom technology platform to build any type of an E-commerce application: an online store, a multi vendor marketplace, a rich-content driven shopping platform, a social commerce website or a backend engine for an E-commerce mobile or tablet app (iOS, Android). It is used by more than 45,000 retailers as their e-commerce platform. You can get more details about Spree on it's Website and repository.


Get the best of both worlds - Reactjs with Ruby on Rails.
Complete guide on integrating Reactjs with Ruby on Rails

Spree is supported by many official as well as third party open source extensions. These extensions provides convenient, reusable & sharable way to modify or extend Spree Commerce. A Spree Commerce developer can either choose to use an existing extension to customise desired Spree feature or can create their own extension and share with community. There are hundreds of extensions already available.

We have curated a list of Spree e-commerce Ruby on Rails plugin extensions considering the usage, popularity and response by the community.

1. Spree Auth Devise

Devise is a flexible all in one authentication solution for Rails based on Warden. It is composed of various modules which can be tweaked as per the requirements. This extension provides authentication services for Spree, using the Devise gem.

If the application is already running with existing devise setup then the spree_auth_devise will continue using the existing User as the Spree user class.

Compatibility: Spree 3.1

2. Spree Gateway

Access to a number of payment gateways is handled with the usage of the spree_gateway extension. It provides community supported Spree Payment Method Gateways such as Authorize.Net, Balanced, Beanstram, Braintree, eWAY, PayPal, Stripe, etc. It works as a wrapper for active_merchant gateway.

Note that for some gateways you might still need to add another gem to the Gemfile to make it work. For example active_merchant requires Braintree but it doesn't include that gem on its gemspec. So one needs to manually add it to your rails app Gemfile.

Compatibility: Spree 3.0.x

3. Spree Digital

This is a Spree extension to enable downloadable products (ebooks, MP3s, videos, etc). The idea is simple, one can attach a file to a Product (or a Variant of this Product). When people buy it, they will receive a link via email where they can download it once. There are a few assumptions that spree_digital (currently) makes and it's important to be aware of them.

Compatibility: Spree 3.1

Ruby Developers have more options than just Ruby on Rails.
Learn more at our curated list of top Ruby frameworks for Web development

4. Spree Wishlist

The Spree Wishlist extension enables multiple wishlists per user, as well as managing those as public (sharable) and private. It also includes the ability to notify a friend via email of a recommended product.

Compatibility: Spree 3.0

5. Spree Comments

Spree Comments is an extension for Spree to allow commenting on different models via the admin ui and currently supports Orders & Shipments. Spree Comments also supports optional comment Types which can be defined per comment-able object (i.e. Order, Shipment, etc) via the admin Configuration tab. Comments are create-only. You cannot edit or remove them from the Admin UI.

Compatibility: Spree 3.0

6. SpreeCommerce Wallet

This SpreeCommerce extension adds an e-wallet to your customers account which gives them the freedom to pay using wallet instead of getting into the hassle of make credit card transactions every time they purchase something.

The admin user can create a payment of "wallet" type.Spree Wallet will deduce minimum of order total and spree wallet balance of that user. If there's any remaining amount in the order it will be deducted from other payment method choosen by the user. Admin can also decide the upper limit of the wallet balance that is allowed to all user.

Compatibility: Spree 3.0.x

7. Spree Multi-Currency

Provides UI to allow configuring multiple currencies in Spree. It provides 3 preferences: allow_currency_change, show_currency_selector and supported_currencies

Compatibility: Spree 3.1

Get your ideas transformed into fantastic products.
Core product in 6 - 8 weeks from the top Ruby on Rails Development Company

8. Spree Reviews

Simple and straightforward review/rating functionality for Spree E-commerce platform

Compatibility: Spree 3.1

9. Related Products

Related Products is a Spree Commerce extension that provides a generic way for you to define different types of relationships between your products, by defining a RelationType for each type of relationship you'd like to maintain.

You can manage RelationTypes via the admin configuration menu, and you can maintain product relationships via Related Products tab on the edit product UI.

Compatibility: Spree 3.1

10. Spree Print Invoices

Spree Print Invoices extensions helps the user to create a PDF invoice for Spree orders.

This extension provides a model Spree::BookkeepingDocument, which generates PDFs from any Spree Object with the help of View objects that translate between different object structures and PDF templates. It stores a "number" string as well as first name, last name, email, and amount with each document for convenient searching in the backend.

Compatibility: Spree 3.1

Spree e-commerce is supported with several other extensions as well which completely depends upon a store's requirements. However these extensions will mostly cover all important factors of a store to get started with. These extensions will also help a developer to get acquainted very well with Spree world.

If you have any suggestions, questions or feedback related to this article, feel free to contact us at @icicletech

Published in ruby-on-rails, ruby | Tagged with community, ruby, ruby-gems, programming, open-source, ruby-on-rails, web-development






Talk to us, that's always a good idea!