Skip to content
OpenCRUD is a GraphQL CRUD API specification for databases
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spec
.gitignore
LICENSE
README.md Update link to prisma repository Sep 27, 2018
package.json
yarn.lock

README.md

OpenCRUD

OpenCRUD is a GraphQL CRUD API specification for databases

Overview

OpenCRUD is a fully GraphQL compliant 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:

{
  user(where: { id: 4 }) {
    name
  }
}

returns:

{
  "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.

Reference Implementation

Prisma serves as a reference implementation of OpenCRUD

Projects compatible with OpenCRUD

Feel free to create a PR to add your project to the list

Index

  • Specs
    • SDL for data modelling: non normative
    • relational
      • Intro
        • Areas covered
        • Focus on API, not implementation/runtime characteristics
      • Queries
        • Top level
          • Single fields multi fields
          • Multi field conenctions
          • Node field
        • Relations
          • Both simple and connection
          • Connections
            • Aggregations
            • Cursor
        • Filters
          • Data type specific filters
          • Single node
          • Multi node
          • Cross-relation filters
        • Aggregations
      • Mutations
      • Subscriptions
      • Generated type names
You can’t perform that action at this time.