Jolaolu / graphql-compose-examples

Live examples of schemas builded with graphql-compose

Home Page:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is example app of graphql-compose


Live example on Heroku:

npm install
npm run seed && npm run start:watch
open http://localhost:3000

User: simple schema with one type

This example has simple User mongoose model that supports bunch of CRUD operations.

const UserSchema = new mongoose.Schema({
  name: String, // standard types
  age: {
    type: Number,
    index: true,
  languages: {
    type: [LanguagesSchema], // you may include other schemas (here included as array of embedded documents)
    default: [],
  contacts: { // another mongoose way for providing embedded documents
    email: String,
    phones: [String], // array of strings
  gender: { // enum field with values
    type: String,
    enum: ['male', 'female', 'ladyboy'],

screen shot 2016-07-03 at 15 23 03

screen shot 2016-07-15 at 12 41 17

User for Relay: simple schema with one type

This schema shows all available CRUD operations which are compatible with Relay. It uses graphql-compose-mongose and graphql-compose-relay:

  • composeWithRelay(RootQueryTC) adds node field to the RootQuery. Via RootQuery.node(id) you may find objects by globally unique ID among all types.
  • composeWithRelay(UserTC) - modify UserTC generated by graphql-compose-mongoose
    • adds id field with Relay's globally unique ID
    • this type will be added to NodeInterface for resolving via RootQuery.node
    • for mutations will be added clientMutationId to input and output objects types
    • also all arguments in mutations will be moved into input arg

screen shot 2017-03-13 at 10 20 34

Northwind: complex schema with 8 models 🌶🌶🌶

This is a sample data of some trading company, which consists from 8 models. All models has cross-relations to each other. This schema used in the Relay example app: Server schema code, Client app code, Live demo of client.


Elasticsearch REST API wrapper

This schema uses graphql-compose-elasticsearch module and provides full API available in the official elasticsearch module.

screen shot 2017-03-07 at 22 26 17


Live examples of schemas builded with graphql-compose


Language:JavaScript 100.0%