jackrobertscott / graphql-api-demo-180906

🔥 Demo implementation of a production-ready API using GraphQL.
96 stars 24 forks source link

GraphQL API Demo

Demo implementation of a GraphQL server.

PRs Welcome License: MIT

This repository was made in conjuction with this tutorial. Use this repository as an example for building your own GraphQL capable APIs.

Highlights

Install

Clone the repository to your computer and move into the root directory.

git clone https://github.com/jackrobertscott/graphql-api-demo.git && cd graphql-api-demo

Install the dependencies.

npm install

Run the server in development mode.

npm run dev

While in development mode; the app will listen for changes and reload automatically.

Production

This repository uses TypeScript. As such, you will need to compile it before you run the production version.

npm run compile && npm run start

Or alternatively, use typescript in production (this uses ts-node).

npm run start:ts

Examples

Here are some example queries which you can use as a starting point when using the playground.

query GetWorkspaces {
  workspaces {
    id
    name
  }
}
mutation CreateWorkspace {
  addWorkspace(input: { name: "Cool Workspace" }) {
    name
  }
}
query GetUsersWithWorkspaces {
  users {
    id
    workspaceId
    workspace {
      name
    }
  }
}
mutation UpdateUserWithWorkspace {
  editUser(id: "<INSERT_A_USER_ID_HERE>", input: {
    workspaceId: "<INSERT_A_WORKSPACE_ID_HERE>"
  }) {
    workspace {
      name
    } 
  }
}

Authors