public
Fork of schof/spree
Description: Spree is a complete open source commerce solution for Ruby on Rails.
Homepage: http://spreehq.org
Clone URL: git://github.com/calas/spree.git
spree /
name age message
file .gitignore Wed Aug 13 05:12:56 -0700 2008 Ignoring flags in #{RAILS_ROOT}/public/images d... [calas]
file CHANGELOG Wed Jun 18 19:16:12 -0700 2008 Increment version number (in anticipation of ev... [schof]
file CONTRIBUTORS Tue Apr 15 19:58:05 -0700 2008 more fixes for the spree project generation [schof]
file INSTALL Mon Apr 21 18:17:33 -0700 2008 updated documentation [schof]
file LICENSE Tue Apr 15 19:58:05 -0700 2008 more fixes for the spree project generation [schof]
file README.markdown Wed Aug 13 04:56:20 -0700 2008 Renamed public/.htaccess to allow spree working... [calas]
file Rakefile Wed Apr 16 11:49:32 -0700 2008 improved bootstrap process [schof]
directory app/ Wed Aug 13 04:56:20 -0700 2008 Added flag stuff for changing spree languague [calas]
directory bin/ Fri Jun 20 11:37:36 -0700 2008 Fixed a bug with the 'spree' command introduced... [schof]
directory config/ Wed Aug 13 04:56:20 -0700 2008 Added flag stuff for changing spree languague [calas]
directory db/ Sun Aug 10 11:24:34 -0700 2008 Merge branch 'restful' [schof]
directory lang/ Wed Aug 13 06:41:01 -0700 2008 Added a way to allow per extension localization... [calas]
directory lib/ Wed Aug 13 05:27:05 -0700 2008 Add logger notice when assets are mirrored from... [calas]
directory log/ Wed Apr 30 19:01:05 -0700 2008 Updated ignore file to reflect new directory st... [schof]
directory public/ Wed Aug 13 05:11:03 -0700 2008 Moving flags from #{RAILS_ROOT}/public/images t... [calas]
directory script/ Tue Jul 08 18:29:24 -0700 2008 New extension script for installing extensions ... [schof]
directory spec/ Mon Jul 21 03:43:53 -0700 2008 Remove view spec for tax_categories that should... [calas]
directory stories/ Tue Apr 08 13:03:01 -0700 2008 additional refactoring related to engines move [schof]
directory vendor/ Wed Aug 13 06:41:01 -0700 2008 Added a way to allow per extension localization... [calas]
README.markdown

SUMMARY

Spree is a complete open source commerce solution for Ruby on Rails. It was developed by Sean Schofield under the original name of Rails Cart before changing its name to Spree.

QUICK START

Running from sources (latest and greatest features)

  1. Clone the git repo

    git clone git://github.com/schof/spree.git spree
    
  2. Install the gem dependencies

    rake gems:install
    
  3. Bootstrap the database (run the migrations, create admin account, optionally load sample data.)

    rake db:bootstrap
    
  4. Start the server

    script/server
    

Running the Gem

  1. Install spree Gem

    sudo gem install spree
    

    NOTE: This may take a while. The gem currently includes a frozen version of Rails 2.0.2

  2. Create Spree Application

    spree <app_name>
    
  3. Create your database and edit the config/database.yml to taste.

    rake db:create
    

    You can skip this step if using sqlite3 as your database.

  4. Bootstrap

    cd <app-name>
    rake db:bootstrap
    
  5. Launch Application

    script/server
    

Browse Store

http://localhost:xxxx/store

Browse Admin Interface

http://localhost:xxxx/admin

Deploying

Deploy spree as a normal rails application. If you use apache+cgi/fastcgi take a look at the example .htaccess located in

public/.htaccess.example

i18n/l10n Support?

Basic localization and internationalization support is now added using the Globalite Plugin from Matt Aimonetti.

Working features:

  • Rails Localization
  • UI Localization

In the near future:

  • Content Localization

Please read this, this and this to understand how the plugin works.

Please, please, please ask Sean how you can help, lot of work is still to be done.

UPDATE: Take a look at i18n page on Spree wiki

Is Spree Ready for Production?

I have been asked by several people about the status of the Spree project. I thought I would take a moment to address the current state of the codebase and whether or not its “production ready.”

In my opinion, you can use Spree in a real world commerce application right now. This is especially true if you are already committed to using Ruby on Rails. What are the drawbacks to doing this? The major drawback is that Spree is still “rough around the edges” so you will be doing a lot of the polishing yourself. For instance, if you want to have FedEx shipping calculations you will need to write/port your own. On the other hand, the basic admin functionality is working and the ActiveMerchant plugin support means you don’t have to worry about credit cards. In fact, I have already built two production sites with this software (under the old RailsCart name).

The only other Rails commerce application I am aware of is Substruct. The last I looked at this project it was fairly basic as well. So if you are going to start building your Rails project today, you have three choices.

  1. Write your own
  2. Use Spree as your starting point and do lots of custom coding
  3. Use Substruct as your starting point and do lots of custom coding

If you are uncomfortable with these three options then you should consider another application framework.

The good news is that Spree is rapidly improving with each passing day. The major effort right now is to rejigger the data model so that it is rock solid. There is nothing “wrong” with the current data model which is why it is ok to build a production Spree app with the existing software. We’re just trying to make the data model as “future proof” as possible. The more we improve the data model now, the less disruptive it will be for users to upgrade to subsequent versions of the software.

When will this refactoring be done? Our goal is to have our first beta release in time for RailsConf (May 29). This means we will pushing hard for another 6-8 weeks on all things data model. Once we go “beta” we be on the next level of stability. There will be a lot less coding needed to use Spree for your production site and we also hope to have a standardized approach for the custom code you do need to write.