What does HackerNews think of graphql-engine?
Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
> We are 100% open source
I mean, so is Hasura. https://github.com/hasura/graphql-engine(Disclaimer: Work at Hasura)
It was only once when I saw problem that could be considered a bug.
- https://www.aosabook.org/en/posa/warp.html
- https://morpheusgraphql.com/
- https://higherkindness.io/mu-haskell/
- https://github.com/hasura/graphql-engine
- https://postgrest.org/en/stable/
- https://github.com/jgm/gitit
- https://jaspervdj.be/hakyll/
- https://github.com/IHaskell/IHaskell
- https://tweag.github.io/HaskellR/ (https://idontgetoutmuch.wordpress.com/2018/05/19/cartography...)
The list can go on, it really depends on what level of "real-worldness" you consider to be real.
Are there other popular Haskell tools? Or is it more of an academic language? I was surprised to see it on the GitHub repo.
https://github.com/hasura/graphql-engine/
https://www.graphile.org/postgraphile/pricing/
https://hasura.io/pricing/ (see: self-hosted)
https://hasura.io/docs/2.0/graphql/core/databases/postgres/i...
[1]: https://github.com/hasura/graphql-engine/
See also: https://github.com/collections/made-in-india
[0] https://github.com/hasura/graphql-engine
For us, the risky choice in our stack [1] was Haskell. It's been amazing and has paid off immensely, but the challenges are very real. Over time we've wanted to go whole in on things like ReasonML too, but we haven't pulled the trigger or made safer choices, because that one golden ticket has been used up.
(I can't take credit for coming up with this, but I don't know who did! I'm sure it's already better articulated somewhere.)
However, I think there are an increasing amount of reasons why you want to have your data stored in a SQL database that you can access. The open source tooling being built around SQL (usually Postgres) as a standard is becoming better and better and it's going to be hard for Firebase to compete with all those offerings. If I run a Postgres database I can instantly have tools like Hasura [0], Metabase [1] along with others that add a ton of value out of the box. However, maybe those tools will also integrate with Firebase.
Anyway, my point is that this is best of both worlds, so great to see!
[0] https://github.com/hasura/graphql-engine [1] https://www.metabase.com/
Hasura[1] is an open-source[2] tech company focussed on making data-access scalable, secure and easy. The Hasura GraphQL engine provides instant realtime GraphQL APIs and an eventing system on Postgres / GraphQL and REST data sources.
We're hiring senior/experienced Haskell engineers to work on the Hasura GraphQL engine. Specifically, we're excited to bring on Haskell Engineering Managers!
More details at: https://hasura.io/careers
[1] https://hasura.io [2] https://github.com/hasura/graphql-engine
Unless I'm missing something, Hasura is FOSS too.
https://github.com/hasura/graphql-engine
True, Hasura does not have plugins (AFAIK) but you can extend it's funcitonality via webhooks and PG views.
As for authorization it may give them more flexibility to roll their own.
Anyway, thanks for bringing up PostGraphile. I'll check it out!
Hasura[1] is an open-source[2] tech company focussed on making data-access scalable, secure and easy. The Hasura GraphQL engine provides instant realtime GraphQL APIs and an eventing system on Postgres.
We're hiring senior/experienced Haskell engineers to work on the Hasura GraphQL engine.
More details at: https://hasura.io/careers
[1] https://hasura.io [2] https://github.com/hasura/graphql-engine
https://github.com/hasura/graphql-engine
For an open-source solution that largely revolves around the React frontend, consider react-admin [1] + its adapter for Hasura [2].
[1]: https://github.com/marmelab/react-admin [2]: https://github.com/hasura/ra-data-hasura, https://github.com/hasura/graphql-engine/
In Ruby/Rails-land, there is https://bullettrain.co.
Hasura[1] is an open-source[2] tech company dedicated to make data-access stateless, secure and easy. The Hasura GraphQL engine provides instant realtime GraphQL APIs and an eventing system on Postgres.
We're hiring senior/experienced Haskell engineers to work on the Hasura GraphQL engine.
More details at: https://hasura.io/careers
[1] https://hasura.io [2] https://github.com/hasura/graphql-engine
Hasura[1] is an open-source[2] tech company dedicated to make data-access stateless, secure and easy. The Hasura GraphQL engine provides instant realtime GraphQL APIs and an eventing system on Postgres.
We're hiring Haskell, React, Golang engineers. All job descriptions here: https://hasura.io/careers
[1] https://hasura.io [2] https://github.com/hasura/graphql-engine
hasura.io is hiring senior Haskell developers. We build tools for developers to reduce the effort that goes into building backends for applications. One of our core products is the opensource graphql-engine which gives the developer a realtime GraphQL backend on a Postgres database: https://github.com/hasura/graphql-engine
Requirements: We are looking for someone who - has Haskell experience - has architected large scale applications in Haskell - has an understanding of the current best practices for writing production code - knows how to optimise Haskell code for performance
Good to have: - Experience working with relational databases
Location: Bangalore, India or remote.
How to apply: If this role interests you, please reach out to us at work [AT] hasura.io. Please mention HN and let us know if you're looking for a full-time role or short term consulting.
There’s a lot of other tooling emerging in this direction too. For example, set up a GraphQL server and subscriptions with Postgres and listen/notify and use SQS with lambda. Or dbezium + Kafka + custom service for event delivery.
[0]: https://hasura.io/
We use Hasura[1] to generate the realtime GraphQL API on Postgres automatically. The CLI tool's work then mostly boils down to 2 things, which we do in phases:
1. Phase I: We migrate firebase data nodes to Postgres tables in a fairly naive way. We setup automatic IDs and parent-child tables and set up relationships between the tables. This gives you a write-many type GraphQL API on postgres. Realtime GraphQL with subscriptions and live-queries replaces firebase realtime
2. Phase II: As an optional next step, we try to normalise data by detecting overlapping data between tables. We delete "subset" tables and set up relationships to the superset table.
I've written up a blogpost with more details here: https://blog.hasura.io/firebase2graphql-moving-from-firebase...
[1] https://github.com/hasura/graphql-engine , https://hasura.io
The similarities between GraphQL and SQL are many on the surface. Another nice parallel that the blogpost doesn't mention is the idea of query variables in GraphQL which is reminiscent of prepared statements + variables in Postgres.
We believe in a similar thesis at Hasura[3], where the idea is to give app developers GraphQL on SQL (Postgres) with minimal abstraction. However, we've had to do a lot of work to support "application level" authorization so that read/write permissions are controlled through the applications auth system and make it a more complete solution.
In fact, our initial version was basically a JSON DSL very similar to datasette, and we switched to GraphQL primarily because the client-side tooling is quite amazing.
We'd been building the tech (realtime GraphQL on Postgres) for a while, but the HN launch gave us the initial visibility and a tremendous number of users, reviews. And within the last few weeks we have several users in production and enterprise clients too. :)