Sign inSign up

newsdev/driveshaft

By newsdev

•Updated over 8 years ago

Driveshaft is a Sinatra application built to turn Google Spreadsheets and Google Documents into JSON

Image
0

716

newsdev/driveshaft repository overview

⁠Driveshaft

Driveshaft is a Sinatra⁠ application built to turn Google Spreadsheets and Google Documents into JSON with the click of a button.

⁠Quickstart

For the full user guide, please refer to the documentation⁠. Or, if you're somewhat familiar with Ruby applications and Google Authentication / S3, use this quickstart guide to get up and running.

⁠Heroku Quickstart

Deploy instantly⁠ with Heroku.

Deploy

⁠Dependencies

Be sure to have the following system dependencies installed:

# Git, Ruby, Node
$ brew install git node ruby

# Bundler
$ gem install bundler
⁠Clone the repository and resolve app dependencies
$ git clone [email protected]:newsdev/driveshaft.git
$ cd driveshaft
$ npm install
$ bundle install
⁠Environmental Variables

Driveshaft uses environmental variables for configuration. Set the following variables either at runtime on the commandline, or in your ~/.bash_profile.

Create a service account to authenticate against the Google API. You will need to set up a Google Developers Project⁠ with the Drive API enabled. Then create a set of credentials⁠. Choose a service account key, and download the contents as JSON.

Store the JSON file on your computer (or your deployed environment), and set GOOGLE_APPLICATION_CREDENTIALS to the filepath where it is stored.

GOOGLE_APPLICATION_CREDENTIALS="/path/to/serviceaccount.json"

Required for S3 access. Use credentials that have access to any S3 buckets you wish to use.

AWS_ACCESS_KEY_ID="****"
AWS_SECRET_ACCESS_KEY="****"
AWS_REGION="us-east-1"

Driveshaft settings:

DRIVESHAFT_SETTINGS_MAX_VERSIONS="5" # set to a maximum number of previous file versions to keep on S3
DRIVESHAFT_SETTINGS_INDEX_FOLDER="****" # a Google Team Drive folder ID
⁠Run the app locally
$ puma

http://localhost:9292/⁠

⁠Documentation

Documentation is available on the gh-pages branch. To view or contribute to the docs, checkout that branch, and run the following to start the documentation server:

gem install jekyll
jekyll server

⁠Contribute

Questions / comments / feature requests / concerns? Please use the Issues⁠ page.

⁠Contributors

Released at the OpenNews⁠ Code Convening⁠ at the 2015 Write The Docs⁠ conference, with the support of the Knight Foundation⁠ and The Mozilla Foundation⁠.

⁠License

The documentation and code are licensed under the Apache License, Version 2.0⁠.

Copyright 2015 The New York Times Company.

Tag summary

Content type

Image

Digest

Size

311.2 MB

Last updated

about 10 years ago

docker pull newsdev/driveshaft