Stall
Stall is a flexible e-commerce framework for Rails with some specific concerns in mind :
- Product models and categorization handling is flexible and done in the app
- The checkout process is easily configurable, overridable but has a standard working default
- The whole system is modular and extensible
- The core should stay small and vendor-specific code (payment gateways, shipping carriers) is done in separate gems
- Authentication and admin is better handled by existing gems
Note : This gem is under active development, and is a complete rewrite of the glysellin gem, but with a more flexible structure, and with a complete test coverage
Installation
Add to your Gemfile and bundle install :
gem 'stall'
Then run the install generator :
rails generate stall:install
This will generate :
- The stall models migrations
- A default initializer file to configure the system
- A default checkout wizard class making it easy to configure your checkout process
Usage
Making a model sellable
Stall allows you to make any model sellable by including the Stall::Sellable
mixin into your model :
class Book < ActiveRecord::Base
include Stall::Sellable
end
You can now add the "Add to cart" button to your templates :
= add_to_cart_form_for(@book)
For more informations see the Wiki page : Allowing customers to add products to cart
Configuring the checkout flow
The checkout process is completely flexible and can be overriden easily.
Please see the Wiki page : The checkout process
Licence
This project rocks and uses MIT-LICENSE.