learning Hasura
Hasura app GraphQL engine is an app that can
- turns database (SQL and mongo) schema into a graphQL or REST API. Hasura auto generates the graphQL schema and resolvers.
- merge multiple graphQL APIs (that could be implemented in different frameworks like Express or Django) into a single one.
- provide DBs
- in some cases I may want to extend the schema with my own custom queries or mutations, actions provide a way to implement custom business logic in an external server or serverless function. to read and write data in more complex ways.
- hasura events trigger server side code when something changes in the database. (e.g sending a transaction email when a new row is added to a table)
just point it to my existing database and it will use the existing tables and views to generate an API. - Hasura doesn't handle use auth, but can easily connect to your fav service (firebase or Auth0) and provide a role session var when the user makes requests. which can then be used to implement role-based access control with a nice UI.
Hasura creates industry standard GraphQL API so you can use any GraphQL client to query data: like Apollo
Hasura is open source and can be self-hosted or can you can pay them for hosting it in their cloud.