Hasura – A Batteries-included App Development Platform
hasura.io
hasura.io
> Friday afternoon update: Programming in @elmlang and loving it! Will be building an modular admin app for @HasuraHQ. Hopefully in #elmlang
Anyways keep up the good work!
Something I hate with passion and something I love with passion. This makes me cringe…
Coming to your question: Since the underlying db which actually stores your data is postgres, you get all the power of a relational database. With hasura-db you get a 'monogodb' like document api. So, hasura-db + postgres tries to capture the best of both worlds.
Since your data is (designed to be) completely normalized in postgres, 'hasura-search' integrates with elastic search to create denormalised documents for efficient full text search in a declarative way. So, hasura-search esentially listens to any changes to your data in postgres and builds denormalised documents that are inserted/updated/deleted into elasticsearch. So, your elasticsearch data stays in sync with your postgres data in real time without any effort from your side ! Deployment will be at least as easy as on Heroku.
So the idea is that a lot of things are figured out, in hopefully not idiotic ways. Built on open stuff. We're going to try to make our communication a lot more clear on that and then have a sensible demo to try it out and see the benefits of getting something super customisable setup without writing too much code.
I see on your site that you guys are looking to develop iOS & Android SDKs, feel free to let me know if you would like a hand with that :) (My email is in my profile).
Good luck!
Just today I was looking for something like this! Any chance I can use only this json API service (using Heroku Postgres) without having to use the rest of Hasura?
1. hasura-db requires few custom extensions (written in c) to be installed into postgres which is not possible in heroku's postgres.
2. hasura-db also makes some assumptions about authentication which is handled by the hasura platform.
Essentially, you don't have to deploy anything on your own server. Whatever functionality hasura's 'batteries' can't provide (yet), you write it as another microservice. At the end of the day, your app is composed of several microservices (containers running in the cloud), few hasura provided and few custom written.
The amount of administration that using a BaaS saves (as opposed to something like Heroku) is minimal; the time that you'd spend doing straightforward admin stuff is just moved over to working around limitations of the BaaS, and is often multiplied in the process. The amount of actual code that using a BaaS saves is between 100-400 lines for a web application. Awful deal.
Edit: If the op can remove the word 'Haskell' from the title, it would be great.