Skip to content

Latest commit

 

History

History
69 lines (42 loc) · 3.7 KB

CONTRIBUTING.md

File metadata and controls

69 lines (42 loc) · 3.7 KB

Contributing

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 rory@openfarm.cc.

If you're keen on contributing code, sign our Contributor License Agreement.

Then!

  1. Fork this repo (see Running Locally for more details).
  2. Fix stuff, write features, unit tests(!).
  3. 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.

We have issues specifically for newcomers - if you're having a problem getting set up, anything like that, we'll tag it with that, and one of the more experienced developers on the project will offer to help you out.

We also have issues that are with a mentor. These are good starter issues for which a mentor is happy to help out with. These are very similar to low hanging fruit

Want to see the big picture? We have a project roadmap for that!

Running Locally

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 admin@admin.com with password admin123.

If you had any problems installing bundles getting up and running etc see the Common Issues Page.

Sensitive Information

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.

When Ready to Submit your Changes

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:

Style Guides and formatting.

  • 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.