Tim Berner's Lee quote: "Now I want you to put your data on the web"

What it does

It allows for anyone (yes, anyone) to build an API just by uploading structured sheet data on Google Drive. Once your sheet is online, you can use an interactive GraphQL UI which allows you to explore your data before plugging queries into any application you may be building.

How we built it

  • forked this awesome repo
  • added babel and ESLint just because (we love ES6)
  • used js-xlsx to pare spreadsheet data into JSON
  • used Google Drive API to load files and sync them in real time
  • added (and hacked/rebranded) GraphiQL visualiser to make the interaction with data more interactive
  • generated GraphQL schemas by analyzing data samples and
  • generated description/statistics to help with query editing
  • included logic for joining data across sheets (see Pokemon data)
  • made a quick UI to log in to GD, check which files are synced, etc…
  • polished a bit the home page and features list for the win

Challenges we ran into

  • We initially planned to build this with dropbox due to its extended popularity. Then out of nowhere, dropbox announced they would be down for maintenance today! We brushed it off and moved on with Google Drive's API
  • GraphQL was not only a new technology to us, but in general a very young addition to Facebook's open source tools.

Accomplishments that we're proud of

  • No one took a nap
  • Autocomplete in GraphQL as soon as a new document is parsed
  • Real-time updates on the data

What we learned

  • GraphQL
  • Seriously, GraphQL
  • Google Drive's API

What's next for DriveQL

  • DropQL
  • Managing more complex data types (dates, currency, missing/corrupted data..)
  • Sleep
Share this project: