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.
To run this project you need to have:
IMPORTANT: Make sure you have postgresql-contrib (Additional Modules) installed on your system.
Setup the project
Clone the project
$ git clone https://github.com/catarse/catarse.git
Enter project folder
$ cd catarse
$ 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
CatarseSettingsinto 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
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 http://purpose.com, for starting the internationalization and beginning the English translation.
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 http://groups.google.com/group/catarse-dev
List of payment enginees that are being developed or need to be developed further
https://github.com/catarse/catarse_pagarme (payment engine used by Catarse.me) https://github.com/devton/catarse_paypal_express (currently out of date and not maintained) https://github.com/sushant12/CatarseStripe (just starting to be developed and needs extra hands -- please pitch in...)
How to contribute with code
Discuss your plans in our mailing list (http://groups.google.com/group/catarse-dev).
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: https://github.com/bbatsov/ruby-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)