Voluntary
This is a gem which turns your rails application into a crowdsourcing platform to run on your intranet or on the internet.
Then you can add existing voluntary products like text creation or create your own products.
Installation
New Application
Run this in your console:
rvm --create use 1.9.3@your_crowdsourcing_platform_name
gem update bundler
gem install rails -v 4.0.13 --no-rdoc --no-ri
rails new your_crowdsourcing_platform_name
cd your_crowdsourcing_platform_name
Add this to your Gemfile:
gem 'voluntary'
Add voluntary products to your Gemfile.
Run this in your console:
bundle install
Run this in your console (confirm all overwrite questions):
rails g voluntary:install
rake railties:install:migrations
Remove gem 'sqlite3' from your Gemfile.
Copy the content of config/database.example.yml into config/database.yml
Add this to your application.rb:
config.generators do |g|
g.orm :active_record
end
Remove public/index.html
Add at least 1 controller with 1 action, 1 view and a root route.
Add a Capfile to your Rails root.
Run this in your console:
bundle install
rake db:create
rake db:migrate
rake db:seed
rails s
New Product
git clone https://github.com/user/voluntary_product_name.git
cd voluntary_product_name
rvm --create use --rvmrc 1.9.3@voluntary_product_name # if you use RVM
gem update bundler
gem install rails -v 4.0.13 --no-ri --no-rdoc
cd ..
rails plugin new voluntary_product_name --database=postgresql --skip-javascript --skip-test-unit --dummy-path=dummy --full
cd voluntary_product_name
# Add voluntary gem as a dependency to gemspec ('~> 0.2.1').
# Add development dependencies from the following gemspec to product's gemspec: https://github.com/volontariat/voluntary/blob/master/voluntary.gemspec
# add "require 'voluntary'" to lib/voluntary_product_name.rb
# bundle install
cd dummy
# Add development dependencies to dummy Gemfile, see voluntary_text_creation.
bundle install
# change config/boot.rb to require bundler like here: https://github.com/volontariat/voluntary_scholarship/blob/master/dummy/config/boot.rb
# change database names to #{product_name}_#{environment} and customize user credentials in config/database.yml
bundle exec rake db:create:all && bundle exec rails g voluntary:product_dummy # confirm all overwrite questions except of Gemfile
cd ..
# add gitignore file from voluntary: https://github.com/volontariat/voluntary/blob/master/.gitignore
rails g migration add_product_name_product
# fill migration file with template: https://github.com/volontariat/voluntary_scholarship/blob/master/db/migrate/20140306201232_add_scholarship_product.rb
cd dummy
bundle exec rake railties:install:migrations
# change database names to #{product_name}_#{environment} and customize user credentials in dummy/config/mongoid.yml
bundle exec rake db:migrate && bundle exec rake db:test:clone_structure
# create a class for your new product under app/models/product/product_name.rb like: https://github.com/volontariat/voluntary_scholarship/blob/master/app/models/product/scholarship.rb
bundle exec rails s
License
This project uses MIT-LICENSE.