Skip to content
This repository has been archived by the owner on Jun 17, 2021. It is now read-only.

Simple and easy scalable GraphQL Subscriptions server with MongoDB as a database

Notifications You must be signed in to change notification settings

nezdemkovski/graphql-subscriptions-server

Repository files navigation

Graphql Subscription server

Simple and super scalable GraphQL Subscriptions server with MongoDB as a database. As server middleware has been used Graphcool Playground which gives automatic schema reloading and better support for GraphQL Subscriptions.

How it works?

GraphQL Subscriptions

Before you start

First rename .env-sample file to .env. It contains all default values for proper work on your local machine. In case you going to run GraphQL server in production you need to provide relevant MongoDB URL and database name.

PORT=8080

MONGO_URI="mongodb://localhost:27017/"
MONGO_DATABASE_NAME="cats"

Start your server

yarn install
yarn start

That's it. Your server is up and run.

Queries

Get list of all cats

query allCats {
  allCats {
    edges {
      node {
        id
        name
        nickName
        description
        createdAt
        avatarUrl
        age
      }
    }
  }
}

Get information about exact cat:

query Cat($id: String!) {
  cat(id: $id) {
    id
    name
    nickName
    description
    createdAt
    avatarUrl
    age
  }
}

Mutations

Add a cat:

mutation addCat($name: String!, $nickName: String!, $description: String!, $avatarUrl: String!, $age: Int!) {
  addCat(name: $name, nickName: $nickName, description: $description, avatarUrl: $avatarUrl, age: $age) {
    id
    name
    nickName
    description
    createdAt
    avatarUrl
    age
  }
}

Remove a cat:

mutation removeCat($id: String!) {
  removeCat(id: $id) {
    id
  }
}

Subscriptions

Listens if new cat was added:

subscription newCat {
  newCat {
    id
    name
    nickName
    description
    createdAt
    avatarUrl
    age
  }
}

Listens if cat was removed:

subscription removedCat {
  removedCat {
    id
  }
}

About

Simple and easy scalable GraphQL Subscriptions server with MongoDB as a database

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published