Skip to content
Spree Affiliate and Referrals extension
Branch: master
Clone or download
Latest commit bae73f1 Sep 5, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bin
config Adds spree correct class and modules for promotion Sep 13, 2014
db/migrate Adds layout string column to affiliate Sep 18, 2014
lib Adds partial field for affiliate factory Sep 18, 2014
spec Check the order's completed_at date, not its created_at Feb 9, 2015
.travis.yml Adds code climate and travis config Sep 13, 2014
.gitignore Scaffold cleanup, adds gemspec info, spec customs Sep 7, 2014
.rspec Scaffold cleanup, adds gemspec info, spec customs Sep 7, 2014
Gemfile Adds code climate and travis config Sep 13, 2014
Gemfile-2.4 Reduce the pinning on the spree version to 2.x.y Mar 11, 2015
Gemfile-2.4.lock Reduce the pinning on the spree version to 2.x.y Mar 11, 2015
LICENSE Scaffold cleanup, adds gemspec info, spec customs Sep 7, 2014
README.md Update README.md Sep 5, 2017
Rakefile Scaffold cleanup, adds gemspec info, spec customs Sep 7, 2014
spree_reffiliate.gemspec Upgrade gem version May 5, 2015

README.md

⚠️ This repository is no longer maintained by the original author ⚠️

⚠️ Please refer to vinsol-spree-contrib/spree_reffiliate for an updated version ⚠️

Spree Reffiliate

Codeship Status for kinduff/spree_reffiliate Build Status Code Climate Test Coverage

Spree Reffiliate is a Spree Extension that adds the referral and affiliate features to your Spree Store. Users are going to be able to share a unique hyperlink with their friends to gain benefits and you'll be able to create affiliate campaigns through the Spree Administrator and configure it to your needs.

Referrals

  • User can share a unique URL
  • User can signup as a referred user
  • Referred user can have promotions
  • Admin is able to see referred users and orders from user

Affiliates

  • Admin is able to create an affiliate with a custom path
  • Customize the affiliate view with a partial
  • Users are going to be able to signup as an affiliated user
  • Affiliated user can have individual promotions
  • Admin is able to see affiliated users and orders from affiliate

Spree Reffiliate

Installation

To use the stable branch, add this line to your Gemfile:

gem 'spree_reffiliate'

Alternatively, if you want to use the bleeding edge version, use this line:

gem 'spree_reffiliate', github: 'kinduff/spree_reffiliate'

Bundle your dependencies and run the installation generator:

bundle
bundle exec rails g spree_reffiliate:install

Existing Users

If you already have users within your database, you'll need to run the following command to generate the referral registry for your users:

bundle exec rake reffiliate:generate

Usage

Referral path is /r/:code and Affiliate path (assigned in the admin) is /a/:path

Once installed, you'll be able to access the following methods.

Spree::User

  • referred_by => user record
  • referral_count => user count
  • referred? => boolean
  • affiliate? => boolean
  • affiliate => affiliate record
  • referral => referral record

Spree::Referral

  • code => referral code
  • referred_users => array of users
  • referred_orders => array of orders
  • referred_count => user count
  • referral_activated_users => users with completed orders

Spree::Affiliates

  • referred_users => array of users
  • referred_orders => array of orders
  • referred_count => user count

Spree Admin

Users

User Listing

Affiliates

Referral Listing

Promotion Rules

Important: in both referrals and affiliates, do not fill in the promotion code for the promotion itself to be applied automatically to the user's order. If you add a promotion code, the user will need to apply the for promotion manually.

For referrals

Referral Rules

For affiliates

Affiliate Rules

User account

User account

Testing

First bundle your dependencies, then run rake. rake will default to building the dummy app if it does not exist, then it will run specs. The dummy app can be regenerated by using rake test_app.

bundle
bundle exec rake

When testing your applications integration with this extension you may use it's factories. Simply add this require statement to your spec_helper:

require 'spree_reffiliate/factories'

ToDo

  • Add missing documentation
  • Add 2-2-stable and 2-1-stable support (or at least test them)
  • Improve affiliates admin
  • Improve User and Orders listing at user admin
  • Add option or helper to show referral code to the user

Copyright (c) 2014 Alejandro AR, released under the New BSD License

You can’t perform that action at this time.