By no means does contributing to OpenFarm imply contributing in a programmer capacity. We love talking to farmers, user experience designers, community organizers, graphic designers, content writers, everyone! Send Rory an e-mail at [email protected].
If you're keen on contributing code, sign our Contributor License Agreement.
- Fork this repo (see Running Locally for more details).
- Fix stuff, write features, unit tests(!).
- Send pull request to master.
Not sure where to help? Take a look at the Issue Tracker. It is advisable to let others know your intent to implement a feautre before starting, as it lets other contributors focus their efforts elsewhere.
Want to see the big picture? We have a project roadmap for that!
You will need Ruby, Rails, ElasticSearch and Mongodb installed before continuing. Once you have these prerequisites to get started with a local copy of the project, run:
$ git clone https://github.com/openfarmcc/OpenFarm.git
$ cd OpenFarm
$ bundle install
$ rake db:setup
$ echo "ENV['SECRET_KEY_BASE'] = '$(rake secret)'" >> config/app_environment_variables.rb
$ rails s
If all went well, you will have a seeded database and can use the account [email protected]
with password admin123
.
If you had any problems installing bundles getting up and running etc see the Common Issues Page.
All secrets (such as S3 credentials) are stored in ENV variables. You will need to set config/app_environment_variables.rb
accordingly. See config/app_environment_variables.rb.example
for an example.
Make sure the tests pass:
rspec
Push to your fork and submit a pull request.
At this point you're waiting on us. We like to at least comment on pull requests within three business days (and, typically, one business day). We may suggest some changes or improvements or alternatives.
Some things that will increase the chance that your pull request is accepted:
- Write tests.
- Follow our Style Guides.
- Write a good commit message.
- We use the ThoghtBot Style Guide when writiting Ruby. The exception to this is that we use 'single quotes' instead of "double quotes".
- When designing API endpoints, follow the JSONAPI.org formatting guide
- Please write specs for your code. We use Rspec as our testing framework.