Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/opencrud/opencrud
OpenCRUD is a GraphQL CRUD API specification for databases
https://github.com/opencrud/opencrud
crud database graphql opencrud
Last synced: about 1 month ago
JSON representation
OpenCRUD is a GraphQL CRUD API specification for databases
- Host: GitHub
- URL: https://github.com/opencrud/opencrud
- Owner: opencrud
- License: mit
- Created: 2018-03-09T19:32:54.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-07-21T07:32:15.000Z (over 2 years ago)
- Last Synced: 2024-08-02T05:11:31.770Z (5 months ago)
- Topics: crud, database, graphql, opencrud
- Homepage: https://www.opencrud.org
- Size: 156 KB
- Stars: 388
- Watchers: 17
- Forks: 22
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-graphql - OpenCRUD - OpenCRUD is a GraphQL CRUD API specification for databases. (Specifications)
- fucking-awesome-graphql - OpenCRUD - OpenCRUD is a GraphQL CRUD API specification for databases. (Specifications)
- fucking-awesome-graphql - OpenCRUD - OpenCRUD is a GraphQL CRUD API specification for databases. (Specifications)
README
# OpenCRUD
OpenCRUD is a GraphQL CRUD API specification for databases
## Overview
OpenCRUD is a fully [GraphQL compliant](http://facebook.github.io/graphql/) query language to access and modify data. OpenCRUD provides API flavours for many popular databases including MySQL and MongoDB.
For example, this OpenCRUD query retrieves a single user:
```graphql
{
user(where: { id: 4 }) {
name
}
}
```returns:
```json
{
"user": {
"name": "Mark Zuckerberg"
}
}
```## Rationale
GraphQL is a flexible query language supporting many different data access patterns. In practice, simple CRUD operations turn out to be a very common pattern. Standardising this very common pattern enables the community to build tooling specific to the common CRUD style API.
## Projects compatible with OpenCRUD
- [GraphCMS](https://graphcms.com)
- [PostGraphile](https://github.com/graphile/postgraphile) (planned)
- [VulcanJS](https://github.com/VulcanJS/Vulcan) (planned)
- [Strapi](https://github.com/strapi/strapi) [(planned)](https://github.com/strapi/strapi/issues/1057)> Feel free to create a PR to add your project to the list
## Index
- Specs
- SDL for data modelling: non normative
- relational
- [Intro](https://github.com/opencrud/opencrud/blob/master/specs/relational/1-intro.md)
- Areas covered
- Focus on API, not implementation/runtime characteristics
- Queries
- [Top level](https://github.com/opencrud/opencrud/blob/master/specs/relational/queries/2-1-toplevel.md)
- Single fields multi fields
- Multi field conenctions
- Node field
- [Relations](https://github.com/opencrud/opencrud/blob/master/specs/relational/queries/2-2-relations.md)
- Both simple and connection
- Connections
- Aggregations
- Cursor
- [Filters](https://github.com/opencrud/opencrud/blob/master/specs/relational/queries/2-3-filters.md)
- Data type specific filters
- Single node
- Multi node
- Cross-relation filters
- [Aggregations](https://github.com/opencrud/opencrud/blob/master/specs/relational/queries/2-4-aggregations.md)
- Mutations
- [CRUD](https://github.com/opencrud/opencrud/blob/master/specs/relational/mutations/3-1-CRUD.md)
- Overview
- Create
- Update
- Delete
- [Batch mutations](https://github.com/opencrud/opencrud/blob/master/specs/relational/mutations/3-2-batch.md)
- Overview
- Update
- Delete
- [Nested mutations](https://github.com/opencrud/opencrud/blob/master/specs/relational/mutations/3-3-nested.md)
- Return type
- Subscriptions
- Generated type names