A GraphQL CRUD API specification for databases, standardizing common data access patterns.
OpenCRUD is a GraphQL CRUD API specification that standardizes how to perform Create, Read, Update, and Delete operations on databases using GraphQL. It provides a consistent query language for accessing and modifying data across different database backends like MySQL and MongoDB. The specification addresses the common need for predictable data access patterns in GraphQL APIs, reducing implementation variability.
Backend developers and API architects building GraphQL services who want a standardized approach to CRUD operations. It is also valuable for teams working with multiple databases or seeking interoperability in their GraphQL tooling.
Developers choose OpenCRUD because it offers a community-driven specification that eliminates guesswork in designing GraphQL CRUD APIs, promotes consistency across projects, and enables reusable tooling. Its database-agnostic design ensures flexibility while maintaining GraphQL compliance.
OpenCRUD is a GraphQL CRUD API specification for databases
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Fully adheres to the GraphQL specification, ensuring compatibility with existing GraphQL tooling and ecosystems, as stated in the key features.
Supports multiple backends like MySQL and MongoDB, allowing flexibility in database choice without changing the API surface, per the overview.
Defines common queries and mutations, reducing boilerplate and promoting consistency, which aligns with the rationale of simplifying GraphQL API development.
Includes filters, aggregations, and nested mutations for complex data interactions, as detailed in the specs, enabling robust queries without custom code.
The README lists only a few compatible projects, with several like PostGraphile and Strapi marked as 'planned,' indicating immature tooling and sparse community support.
As a specification, not a tool, OpenCRUD requires developers to build or integrate compatible implementations, adding setup complexity compared to turnkey solutions.
Focuses solely on standard CRUD patterns, lacking built-in support for custom mutations or queries, which may limit flexibility for domain-specific needs.