SpreeOnReact - A SpreeCommerce Storefront built on ReactJS

Overview

Spree Commerce is one of the best open source e-commerce platform written in Ruby language. It boasts of its feature completeness coupled with a vast ecosystem of extensions and quick pace of development. SpreeOnReact is an open source SpreeCommerce front-end solution built entirely on Facebook's ReactJS library. It provides a set of core e-commerce functionalities from where you can start adding more features instead of building everything from the ground up. The library is compatible with Spree 3.1 and Spree 3.2 .Read more


SpreeCommerce Customizations

The SpreeCommerce Guide lists a few methods to customize SpreeCommerce as per your usage. Here, we'll be expanding on it further. How to customize various parts of your SpreeCommerce apps.

Assets:

Sometimes we need to customize the way Spree javascript works or need to change the css from the one that came with Spree. One way to go about it is to add a new file under app/assets and update all the required code. This works well when only specific parts of the code in a file need to be overwritten or new code needs to be added. But to override complete files, this takes up more code than needed.Read more


My experience with Spree Commerce Product Import using Datashift Spree

Overview

Recently we worked on re-platforming an E-commerce store that we wanted to move to SpreeCommerce to expand their offering & to cater to existing customers better.

As we analysed their ambitious requirements and the desire to launch in a very short period of time, we evaluated existing Spree Commerce extensions that we could use to get work done in the shortest possible period of time.

One big task in the migration, was moving over their existing product catalog to SpreeCommerce.

Our search for an already proven solution for this led us to datashift_spree which looked very promising. datashiftspree is a part of datashift which is a set of tools which help import and export from generic Ruby on Rails application. Datashift has very well defined conventions across representation of data in various cases.

The Run

Warmup

As we started evaluating datashift_spree for the capabilities it mentions, we started seeing some roadblocks as with any integration. Thankfully the roadblaocks were code-critical which we are most comfortable dealing with :)

Just to mention few:

Spree Product Import Usecases

  • Dummy Run helps to find & fix errors without corrupting database with invalid values
  • In case of errors, a detailed report of what/when/how related to steps execution is invaluable for the developer and operations guy for the confidence in import process and its correctness.
  • A uniform convention for data representation catering to different usecases makes the api/changes intuitive for not documented cases and help extend with minimum effort.

Dev Setup with updated branches on Github forks

Product Import with No Variants

  • After setting up datashift_spree and Spree store locally using Dev Setup with updated branches on Github forks
  • You get access to the enhanced capabilities as exposed in commandline
  • CSV Format
    • Add the product attributes like sku, price, name, description, available_on, cost_price, shipping_category
    • A special column name "Images" will help you add images to product
    • You can provide both a local path accessible while import or an image url
  • Import Command
    • RAILS_ENV=datashift bundle exec thor datashift_spree:load:products -v -i /path/to/csv_file
    • Don't forget to change RAILS_ENV as applicable and check the path to csv file
  • Output
    • Consolidated Report of CSV rows to be processed, stored in database, with errors and high level errors for failed records
    • Detailed Processing log can be referred in Rails log file

Product Import with Variants and Product Attributes Default in Variants

  • CSV Format
    • Product Attibutes as mentioned in above case should be present and to make variants, we need to define option_type/option_values as applicable to variant
    • Add variants column in csv and define variants as explained here
  • Import Command
    • No change in import command :)
    • RAILS_ENV=datashift bundle exec thor datashift_spree:load:products -v -i /path/to/csv_file
  • Output
    • Consolidated Report of CSV rows to be processed, stored in database, with errors and high level errors for failed records
    • Detailed Processing log can be referred in Rails log file which will show creation of variants along with product and master both

Product Import with Variants and overriding Product Attributes Default in Variants

  • CSV Format
    • Variants attributes can be override using special csv columns as supported by datashift_spree which are self-explanatory
    • "variant_sku","variant_cost_price","variant_price","variant_images","stock_items
    • It requires to match number of variants to be exactly same as the overriding values above
    • If there are 5 variants to be created, each column above should provide 5 values separated by |
  • Import Command
    • No change in import command :)
    • RAILS_ENV=datashift bundle exec thor datashift_spree:load:products -v -i /path/to/csv_file
  • Output
    • Consolidated Report of CSV rows to be processed, stored in database, with errors and high level errors for failed records
    • Detailed Processing log can be referred in Rails log file

Further Enhancements

  • Product Import from Shopify Export CSV
  • Upgrade datashift_spree to be compatible with latest datashift version
  • Spree Order Import from CSV

We are always trying to meet Business time-to-market requirement with the technical challenges and bridge the gap to be narrower and narrower :)

Checkout Launch Your Store in One Day to not miss the edge.

 


Customer Testimonial Extension for Spree Commerce

As a potential customer of an ecommerce store, a big assurance and confidence boost for me is to see testimonials from existing customers.

If you want to add this capability to your Spree store, there is help available. We extracted a customer testimonial or quote management extension from one of our projects recently and open sourced it.

Here is the github link to the SpreeCommerce Customer Testimonial extension

The extension provides the functionality to receive testimonials from customers. It also allows the store owner to submit testimonials on behalf of customers. The store owner also has the capability to moderate testimonials submitted by customers and mark them as published. These published testimonials can then be used at other places on the store.

Read more


Vinsol Introduces ShopSpree: First iOS App for Spree Commerce

We understand the preferences of shoppers have changed globally. Today, consumers prefer shopping in the most convenient ways: anywhere, anytime and on the move. This changing landscape has given birth to the world of mobile and applications. The statistics prove the increase in mobile internet usage is on the rise, now standing at 65% globally.

ShopSpree0

Around 32% of all online purchases have been done through mobile. Mobile commerce is looking promising, and expects the spending to be $200 billion USD by the end of 2014, reaching an approximate 50% growth from 2013. Predictions indicate that by 2020, smartphones and tablets will account for more than 75% of global online commercial transactions, and more than 50% of spend.

The e-commerce market, which is now enhanced by mobile, is comprised primarily of e-commerce companies that have long held a web presence, but have gained even more with the transition from web to mobile.
Read more