Skip to content

graphql-compose/graphql-compose-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8677f35 ยท Sep 16, 2021
Jun 27, 2021
Jun 27, 2021
Sep 16, 2021
Sep 11, 2021
Sep 11, 2021
Jun 27, 2021
Jun 27, 2021
Jun 27, 2021
Mar 17, 2019
Jun 27, 2021
Jun 27, 2021
Jun 27, 2021
Sep 11, 2021
Jun 27, 2021
Jul 29, 2021
Sep 11, 2021
Sep 11, 2021
Sep 11, 2021
Sep 11, 2021

Repository files navigation

This is example app of graphql-compose

Travis

Live example on Heroku: https://graphql-compose.herokuapp.com/

yarn install
yarn seed && yarn dev
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.

relay-northwind-app

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