The first open source crowdfunding platform for creative projects in the world
Ruby HTML CSS JavaScript
Latest commit 1636030 Sep 22, 2017 @adrianob adrianob committed on GitHub Merge pull request #2786 from adrianob/reward_save
save rewards individually
Failed to load latest commit information.
.magick added imagetragick sec fixes May 4, 2016
app save rewards individually Sep 21, 2017
bin add default rails 4.2 config Oct 19, 2016
config Merge pull request #2769 from vicnicius/newsletter_cards Sep 1, 2017
db fix project admin endpoint Sep 21, 2017
deploy Adds production docker-compose file Aug 18, 2016
doc adding notification examples to repo Apr 29, 2014
lib Added rake task to sync with unsubscribe group Sep 4, 2017
public Added statis sitemap.xml index. Fix sitemap.rb Sep 13, 2016
spec fix specs Sep 21, 2017
vendor added the default folder for assets May 5, 2012
.buildpacks Adds node.js to Heroku build Jun 1, 2015
.dockerignore Adds dockerignore to prevent unnecessary files to be on the image Aug 17, 2016
.gitignore move secrets to sample, to avoid bug when using from initializers Sep 14, 2016
.python-version only validate birth_date when user account_type is pf Mar 8, 2017
.rspec reset dev May 17, 2012
.ruby-version update rails and ruby versions May 25, 2017
.travis.yml Updates ruby to 2.2.3 Sep 9, 2015
Cheffile run rubocop analyser Jun 1, 2017
Cheffile.lock Fix display :99.0 not being configured on Vagrant Feb 27, 2013 Update Jun 7, 2017
Dockerfile Adds Dockerfile for production Aug 17, 2016
Gemfile update catarse_pagarme Sep 12, 2017
Gemfile.lock update catarse_pagarme Sep 12, 2017
MIT-LICENSE Updated the Copyright year on the license and readme to 2016 Jan 8, 2016
Procfile added worker_rdstation to Procfile Sep 8, 2016 Update Sep 10, 2017 Update Mar 20, 2017
Rakefile run rubocop analyser Jun 1, 2017
Vagrantfile run rubocop analyser Jun 1, 2017
app.json Adds app.json to use Heroku Review Apps feature Jun 2, 2015
circle.yml move assets modules management to npm Jul 27, 2017 run rubocop analyser Jun 1, 2017
dev.Dockerfile new dev docker Jun 1, 2017
docker-compose.yml Adds test container to run tests Sep 1, 2016
package-lock.json add select as a dependency Aug 1, 2017
package.json add select as a dependency Aug 1, 2017


Circle CI Coverage Status Code Climate

The first crowdfunding platform from Brazil

An open-source crowdfunding platform for creative projects

Welcome to Catarse's source code repository. Our goal with opening the source code is to stimulate the creation of a community of developers around a high-quality crowdfunding platform.

You can see the software in action in The official repo is

Getting started


To run this project you need to have:

Setup the project

  • Clone the project

      $ git clone
  • Enter project folder

      $ cd catarse
  • Create the database.yml

      $ cp config/database.sample.yml config/database.yml

    You must do this to configure your local database! Add your database username and password (unless you don't have any).

  • Install the gems

      $ bundle install
  • Install the front-end dependencies

      $ npm install

    Requires Node.js and its package manager, npm.

  • Create and seed the database

      $ rake db:create db:migrate db:seed
  • Configure the API server

    We provide authentication through JWT (JSON Web Tokens) and it can be configured by CatarseSettings into rails console.

      $ bundle exec rails console
      > CatarseSettings[:api_host] = "http://localhost:3004" # postgREST server url
      > CatarseSettings[:jwt_secret] = "gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr9C" # this token is just a valid example

If everything goes OK, you can now run the project!

Running the project

  • Run API server

    After downloading PostgREST 0.3.x you can unpack and run the executable as below.

      $ ./postgrest postgres://postgrest@localhost/catarse_development -a anonymous --jwt-secret gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr9C -s 1 -p 3004
  • Run Rails server

$ rails server

Open http://localhost:3000


We hope to support a lot of languages in the future, so we are willing to accept pull requests with translations to other languages.

Thanks a lot to Daniel Walmsley, from, for starting the internationalization and beginning the English translation.

Payment gateways

Currently, we support pagarme through our payment engines. Payment engines are extensions to Catarse that implement a specific payment gateway logic.

If you have created a different payment engine to Catarse, please contact us so we can link your engine here. If you want to create a payment engine, please join our mailing list at

List of payment enginees that are being developed or need to be developed further (payment engine used by (currently out of date and not maintained) (just starting to be developed and needs extra hands -- please pitch in...)

How to contribute with code

Discuss your plans in our mailing list (

After that, just fork the project, change what you want, and send us a pull request.

Best practices (or how to get your pull request accepted faster)

  • Follow this style guide:
  • Create one acceptance tests for each scenario of the feature you are trying to implement.
  • Create model and controller tests to keep 100% of code coverage in the new parts you are writing.
  • Feel free to add specs to committed code that lacks coverage ;)
  • Let our tests serve as a style guide: we try to use implicit spec subjects and lazy evaluation wherever we can.


Author: Daniel Weinmann

Contributors: You know who you are ;) The commit history can help, but the list was getting bigger and pointless to keep in the README.


Copyright (c) 2016 Softa

Licensed under the MIT license (see MIT-LICENSE file)