[![Code Climate](https://codeclimate.com/github/FarmBot/farmbot-web-app/badges/gpa.svg)](https://codeclimate.com/github/FarmBot/farmbot-web-app) [![Test Coverage](https://codeclimate.com/github/FarmBot/farmbot-web-app/badges/coverage.svg)](https://codeclimate.com/github/FarmBot/farmbot-web-app) [![Build Status](https://travis-ci.org/FarmBot/farmbot-web-app.svg)](https://travis-ci.org/FarmBot/farmbot-web-app) # Do I need this? This repository is intended for *software developers* who wish to modify the [Farmbot Web App](http://my.farmbot.io/). **If you are not a developer**, you are highly encouraged to use [the publicly available web app](http://my.farmbot.io/). If you are a developer interested in contributing or would like to provision your own server, you are in the right place. # Farmbot Web API **[LATEST STABLE VERSION IS HERE](https://github.com/FarmBot/Farmbot-Web-API/tree/a3762b25dab757d43623de3ed67c3c2d56dccb6c)** :star: :star: :star: This Repo is RESTful JSON API for Farmbot. This includes things like storage of user data, plant data, authorization tokens and a variety of other resources. The key responsibility of the API is *information and permissions management*. This should not be confused with device control, which is done via [MQTT](https://github.com/FarmBot/mqtt-gateway). # Developer setup 0. `git clone https://github.com/FarmBot/Farmbot-Web-API farmbot-web-app` 0. `cd farmbot-web-app` 0. `bundle install` 0. `MQTT_HOST=your_mqtt_server_domain rails s` 0. Start the [Web Front End](https://github.com/FarmBot/farmbot-web-frontend) (See it's README) 0. Open localhost in your [favorite web browser](www.google.com/chromeā€ˇ) # Provisioning Your Own with Dokku Please see `deployment.md`. # Config Settings (important) Here are some of the configuration options you must set when provisioning a new server: * **Encryption keys**: Encryption keys will be autogenerated if not present. They can be reset using `rake keys:generate`. If `ENV['RSA_KEY']` is set, it will be used in place of the `*.pem` files. Useful for environments like Heroku, where file system access is not allowed. * `ENV['DEVISE_SECRET']`: Used for devise. Use `rake secret` to generate a new value. * `ENV['MQTT_HOST']`: Host (no port or slashes or anything) of running [MQTT gateway](https://github.com/FarmBot/mqtt-gateway). This is required so that Farmbot can know where to connect when given an authorization token. * `ENV['JS_FILE_URL']`: URL pointing to the [Farmbot Frontend](https://github.com/FarmBot/farmbot-web-frontend) `bundle.js` file. This is what gets injected into the `