Welcome to the first open source fundraising toolkit for civic projects. Neighbor.ly began in February 2012 as a fork of the wildly successful Brazillian crowdfunding platform Catarse. Working closely with the developers of that project, Neighbor.ly is building towards a full spectrum fundraising toolkit for civic projects.
This is the source code repository running Neighbor.ly. We've decided to open source the code for our platform in the hopes that communities will find it useful as they embrace new funding sources for projects once covered by taxes and bonds.
Communities are always welcome and encouraged to list their projects on Neighbor.ly. This codebase is intended for communities who would rather own and operate their own platforms. We also offer consultancy in setting the platform up as a "white label" extension to your exisitng website, and offer a variety of paid licensed versions built specifically for your needs (often easier and almost always cheaper than implementing this yourself). If you are interested in ways we can help you make the most of civic fundraising please contact us.
This software was originally created as Catarse, Brazil's first crowdfunding platform. It was first made in Portuguese then later English support added by Daniel Walmsley. Neighbor.ly focused on making all aspects of the interface in US English. There are still some patches of both languages throughout the software, but overall there is good infrastructure in place to internationalize to the language of your choice.
We hope to offer many languages in the future. So if you decide to implement Neighbor.ly in your own language, please let us know so we can include your language here.
Neighbor.ly supports payment gateways through payment engines. Payment engines are extensions to Neighbor.ly that implement a specific payment gateway logic. The two current supported payment gateways are:
- Authorize.net for credit cards and e-checks
- PayPal
We're implementing Balanced on balanced-payments branch.
If you have created another payment engine, please contact us so we can link your engine here.
Thank you for your interest in helping to advance this project. We are actively working on a public roadmap. Meanwhile, please feel free to open issues with your concerns and fix/implement something using pull requests. Probably the better way to do this is commenting on the issue so we can give you the responsibility of it. This will prevent more than one person to contribute with the same change.
- We prefer
{foo: 'bar'}
over{:foo => 'bar'}
- We prefer
->(foo){ bar(foo) }
overlambda{|foo| bar(foo) }
We use RSpec, Capybara and Jasmine for the tests, and the best practices are:
- Create one acceptance test 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.
IMPORTANT: Make sure you have postgresql-contrib (Aditional Modules) installed on your system.
$ git clone https://github.com/neighborly/neighborly.git
$ cd neighborly
$ cp config/database.sample.yml config/database.yml
$ vim config/database.yml
# change username/password and save
$ bundle install
$ rake db:create db:migrate db:seed
$ rails server
Originally forked from Catarse. Adapted by devton, josemarluedke, and luminopolis. Made possible by support from hundreds of code contributors, financial support from the Knight Foundation, and lots of love & bbq sauce in downtown Kansas City, Missouri.
Copyright (c) 2013 Neighbor.ly. Licensed as free and open source under the MIT License