gitmyhub

graphql-engine

TypeScript ★ 32k updated 6h ago

Blazing fast, instant realtime GraphQL APIs on all your data with fine grained access control, also trigger webhooks on database events.

Point it at your database and it instantly creates a GraphQL API with access control and real-time subscriptions, no backend code to write.

HaskellTypeScriptGraphQLDockersetup: moderatecomplexity 3/5

Hasura GraphQL Engine solves a very common problem for developers: you have data sitting in a database, and you need to expose it to a frontend app or mobile client quickly and safely. Normally you would have to write a backend server by hand, defining every endpoint and every query. Hasura skips all of that — you point it at your database and it automatically generates a fully featured GraphQL API on top of it within minutes.

GraphQL is a modern way for applications to request exactly the data they need from a server, rather than receiving fixed pre-shaped responses. Hasura gives you this GraphQL interface instantly, without writing any server code. It also adds fine-grained access control, meaning you can define rules like "a user can only read their own records" directly in Hasura's dashboard, and it enforces those rules on every query.

Beyond simple data fetching, Hasura supports realtime subscriptions so that the frontend can receive live updates whenever the database changes, and it can trigger webhooks (automatic HTTP calls to your own code) whenever a database event occurs — such as a new row being inserted. This makes it easy to build reactive, event-driven applications.

Version 3 of the engine extends support to multiple databases including PostgreSQL, MongoDB, ClickHouse, and Microsoft SQL Server, and allows developers to add custom business logic in TypeScript, Python, or Go via connector SDKs.

You would use Hasura when you want to build a web or mobile app quickly, need a flexible data API without writing repetitive backend code, or want realtime data features. The core engine is primarily written in Haskell (server) and TypeScript (console and tooling), and it runs as a Docker container or hosted service on Hasura's cloud platform.

Where it fits