Complete Ruby on Rails Ecommerce platform
Clone or download
Pull request Compare This branch is 1423 commits behind drhenner:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Project Overview

Please create a ticket if you have issues

Please look at the homepage for more details:

This is a Rails e-commerce platform. Other e-commerce projects that
use rails, don’t use rails in a standard way. They use engines or are a separate
framework altogether.

ROR ecommerce is a Rails 3 application with the intent to allow developers to create
an ecommerce solution easily. This solution includes, an Admin for Purchase Orders,
Product creation, Shipments, Fulfillment and creating Orders. There is a minimal
customer facing shopping cart understanding that this will be customized. The cart allows
you to track your customers cart history and includes a double entry accounting system.

The project has solr searching, compass and blueprint for CSS and uses jQuery.
The gem list is quite large and the project still has a large wish list but it is the most
complete solution for Rails today and it will only get better.

Please use Ruby 1.9.2 and enjoy Rails 3.0.

ROR_ecommerce is designed differently. If you understand Rails you will understand ROR_ecommerce.
There is nothing in this project that you wouldn’t see in a normal Rails application. If you don’t like
what is in the project just change it like you would in any other Rails app.

Contributors are welcome. For now email David Henner ( to see how you
can contribute. (send your patch if you have one.) Soon there will be a bug tracking
system and a formal way to submit your patch.

We will always need help with UI, Documentation and code so feel free to help.

Getting Started

We have a google group. Ask question and help answer questions.
ror_ecommerce Google-group

install rvm with ruby 1.9.2 or if you have 1.9.2 on your system your good to go

Configure your database.yml file (add the development and test database)

  1. Go into config/config.yml and change the encryption_key

aes =‘AES-256-CBC’)
set_encryption_key_to = aes.random_iv

  1. gem install bundler
  2. bundle install
  3. rake db:create
  4. rake db:migrate
  5. rake db:seed
  6. rake db:test:prepare
  7. git submodule init
  8. git submodule update
  9. gem install compass
  10. gem install fancy-buttons

######compass install -r fancy-buttons -f fancy-buttons

Time to start solr and memcache(yep you better install them)
rake sunspot:solr:start

If you decide not to use solr, go into product.rb and delete the following

searchable do
  text    :name, :default_boost => 2
  text      :product_keywords#, :multiple => true
  text      :description
  time      :deleted_at

Take a look at setting up solr
Solr in 5 minutes

memcached -vv ## you can config many other cache stores but
## the cookie store will not work (in the admin) and the DB session store will be a dog

Need to create config/config.yml and change the encryption key and paypal or information.
You can also use config/config.yml.example until you get your real info.

Paperclip will throw errors if not configured correctly.
if you are on a Ubuntu machine, change this line in environment.rb:
Paperclip.options[:command_path] = “/usr/local/bin”
Paperclip.options[:command_path] = “/usr/bin”

Once everything is setup, start up the server with ‘rails server’ and direct it to

write down the username/password and follow the directions.


  • product sales (eg. 20% off)
  • Refactor admin cart to use redis, riak or some other noSQL store


RoR Ecommerce was written by David Henner with contributions from:

  • Oren Golan
  • Yury Velikanau


Shipping categories are categories based off price:

you might have two shipping categories (light items) & (heavy items)
Have fun!!!

  • I personally want to thank some people I don’t even know.
    Ryan Bates and Greg Pollack, I have learned way too much from you 2
    it would only be right to give some thanks
  • I’d also like to Thank one person that I do know.
    Umang Chouhan I’ve learned a lot from you also.
    (even if I do have to filter out some of what you say. LOL)