The first open source crowdfunding platform for creative projects in the world
Pull request Compare This branch is 11791 commits behind catarse:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Catarse Build Status

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

Getting started


This software was first created as Brazil's first crowdfunding platform. Thus, it was first made in Portuguese and with a brazilian payment gateway. We are now internationalizing it, and already have a good support for the english language and for paypal express checkout. See below the Payment gateways section for more information about integrating Catarse with a payment system of your choice. If you want to join us in this effort, please feel free to fork the repository and send us a pull request with your changes. If you have any doubt, please join our Google Group at and we will help you.


We hope to support a lot of languages in the future. So we are willing to accept pull requests with translations to other languages. Here's a small guide to translate Catarse to your language in a way that we can integrate your translation in the main repository:

  • TODO

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

Payment gateways

Currently, we support MoIP and PayPal through our payment engines. Payment engines are extensions to Catarse that implement a specific payment gateway logic. The two current working engines are:

  • MoIP
  • PayPal

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

Here are some tips to get things started:

How to contribute with code

Before contributing, take a look at our Roadmap ( and discuss your plans in our mailing list (

Our pivotal is concerned with user visible features using user stories. But we do have some features not visible to users that are planned such as:

  • Turn Catarse into a Rails Engine with customizable views.
  • Turn Backer model into a finite state machine using the state_machine gem as we did with the Project model.
  • Improve the payments engine isolation providing a clear API to integrate new payment engines in the backer review page.
  • Make a installer script to guide users through initial Catarse configuration.

Currently, a lot of functionality is not tested. If you don't know how to start contributing, please help us regaining control over the code and write a few tests for us! Any doubt, please join our Google Group at and we will help you out.

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

Coding style

  • We prefer the {foo: 'bar'} over {:foo => 'bar'}
  • We prefer the ->(foo){ bar(foo) } over lambda{|foo| bar(foo) }

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

We use RSpec and Steak for the tests, and the best practices are:

  • 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 at least in the new parts that you are writing.
  • Feel free to add specs to the code that is already in the repository without the proper coverage ;)
  • Try to isolate models from controllers as best as you can.
  • Regard the existing tests for a style guide, we try to use implicit spec subjects and lazy evaluation as often as 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) 2011 Softa

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