Ad

graphql-engine: GraphQL Engine for Realtime APIs

Hasura provides a GraphQL engine for building realtime APIs with access control and webhooks. It enables secure data access across various databases.
Screenshot of hasura/graphql-engine homepage

Hasura GraphQL Engine supercharges application development by providing a single, secure GraphQL API endpoint for diverse data sources. It addresses the challenge of managing complex data access and ensuring security in modern applications. The engine supports multiple database types and allows custom business logic through connector SDKs.

Hasura’s core component is the GraphQL Engine, which translates GraphQL requests into database queries. It handles authentication, authorization, and data aggregation, simplifying the process of building and maintaining APIs. The engine's architecture facilitates scalability and allows for fine-grained control over data access.

Hasura offers a comprehensive set of features including fine-grained access control, real-time subscriptions, and database-level triggers. It supports a wide range of databases, including PostgreSQL, MongoDB, and SQL Server. The project’s modular design allows developers to easily extend functionality through custom connectors. The engine’s focus on developer experience is evident in its clear documentation and active community support.

The project separates the V2 and V3 engine, catering to different development needs. V3 is the future state and is GA, while V2 is the currently stable version. This allows for a smoother transition path for existing users while embracing innovation. The development actively addresses performance and scalability.

  • Data Source Support: Supports PostgreSQL, MongoDB, ClickHouse, and MS SQL Server.
  • Access Control: Provides fine-grained row-level and field-level access control.
  • Real-time Subscriptions: Enables real-time data updates via GraphQL subscriptions.
  • Webhooks: Supports triggering webhooks on database events.
  • Custom Connectors: Allows developers to build custom data connectors using TypeScript, Python, or Go.
  • Developer Experience: Offers comprehensive documentation, a community forum, and a CLI for easy management.
  • Scalability: Designed for high performance and scalability to handle large amounts of data and traffic.

The Hasura GraphQL Engine is a mature project with a significant user base and active development community. Regular releases and ongoing maintenance indicate a commitment to long-term support. Extensive documentation and a responsive issue tracker demonstrate a high level of reliability. The two distinct versions, V2 and V3, show that the project is actively evolving and addressing community needs. The consistent development history and strong community support suggest a dependable solution for building GraphQL APIs.

Developers building modern applications benefit from Hasura by simplifying data access, enhancing security, and enabling real-time features. It’s particularly valuable for applications that require flexible data models and fine-grained access control. Hasura reduces development time and operational overhead by providing a robust and scalable GraphQL engine, abstracting complexities and promoting efficient data management.

Summarize:
Share:
Stars
32,078
Forks
2,874
Issues
2,383
Created
8 years ago
Commit
1 month ago
License
APACHE-2.0
Archived
No
Updated 2 hours ago

Similar Repositories