Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Anvil App Platform: Using GitHub as a Datastore

DZone's Guide to

Anvil App Platform: Using GitHub as a Datastore

See how an app transforms GitHub into a mini database, perfect for storing less-than-essential documents.

· Database Zone ·
Free Resource

Running out of memory? Learn how Redis Enterprise enables large dataset analysis with the highest throughput and lowest latency while reducing costs over 75%! 

Literally one day after the last blog post on Anvil (and their news announcement), Ian and Meredydd did a proof of concept that made Anvil retrieve/store data from/to GitHub. Specifically, it was a JSON document. You are not going to rest a transactional database on this design, financial or otherwise, but you might be super happy for a “Very Small Data” application. Or one that is for editing configuration — refer my Config as Code category.

On the Anvil Works site is a blog post about it. That blog entry details what/how they've done this ultimately very simple thing. They don’t show the diff, though. In a technology that is using SCM as a data store, after bumping the HEAD revision of a document programmatically, you’re going to want to check out the change you just made:


"Yay!" indeed.

As well as dealing with GitHub’s APIs for working with documents (as data), it’d be great to see these guys enhance their own Git capability for storage, and add index/view APIs for a mini-CouchDB experience.

This type of solutioning is going to be part of a wave of cheaper internal enterprise apps again, and maybe also apps online for strangers where cheap data capture is more important that a 100% ‘just so’ UI experience.

Running out of memory? Never run out of memory with Redis Enterprise databaseStart your free trial today.

Topics:
news ,data ,apis ,capture ,json

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}