Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rse/graphql-tutorial

Tutorial for GraphQL
https://github.com/rse/graphql-tutorial

graphql hapi orm resolver schema tutorial

Last synced: about 1 month ago
JSON representation

Tutorial for GraphQL

Awesome Lists containing this project

README

        

GraphQL Tutorial
================

This is a didactic introduction to GraphQL, starting from a simple Hello
World to a network-based GraphQL server with a built-in GraphQL UI.
It is provided in the form of a tutorial which step-by-step
introduces more usage of GraphQL. Each tutorial step `XX` can be found
in the file `sample-XX` and run with `npm run sample-XX`. The
distinct tutorial steps are:

1. just plain all-in-one GraphQL "Hello World"
2. replaces GraphQL schema API calls with GraphQL schema definition language
3. split GraphQL usage into distinct parts
4. replace "Hello World" with an entity "OrgUnit" and enable schema/resolver warnings
5. add "Person" entity and use a separate data store
6. factor out resolver functionality into generic data access object functions
7. add QueryEntityOne DAO method for querying particular objects
8. allow relationships to be queried and be strict on resolvers now
9. add remaining CRUD operations (create/clone, update, delete) to GraphQL entity types
10. wrap GraphQL application programming interface (API) with a remote network interface (RNI)
11. replace built-in client with interactive GraphQL web user interface (GraphiQL)
12. add descriptions to GraphQL schema for introspection inside GraphiQL
13. move data into SQLite RDBMS and access it with Sequelize ORM
14. wrap mutations into a single RDBMS transaction
15. support also GraphQL over Websocket communication
16. add GraphQL Subscription support
17. simplify and migrate to all-in-one GraphQL-IO framework

GraphQL Resources
=================

The steadily growing GraphQL community has many resources.
A few selected ones were hand-picked for you here.

GraphQL Community
-----------------

- Awesome GraphQL [1]

https://github.com/chentsulin/awesome-graphql

- Awesome GraphQL [2]

https://github.com/joshblack/awesome-graphql

GraphQL General
---------------

- GraphQL Query & Schema Language: Learning

http://graphql.org/learn/

- GraphQL Schema Language: Learning

http://graphql.org/learn/schema/

- GraphQL Schema Language: Cheat Sheet

https://wehavefaces.net/graphql-shorthand-notation-cheatsheet-17cd715861b6#.x5zncd650

- GraphQL Query Language Specification

http://facebook.github.io/graphql/

Tools
-----

- GraphiQL

https://github.com/graphql/graphiql

https://github.com/rse/hapi-plugin-graphiql

- ChromeiQL

https://chrome.google.com/webstore/detail/chromeiql/fkkiamalmpiidkljmicmjfbieiclmeij

- GraphiCLI/Gest

https://github.com/mfix22/graphicli

- GraphQL Network for Chrome

https://chrome.google.com/webstore/detail/graphql-network/igbmhmnkobkjalekgiehijefpkdemocm

- GraphQLviz [1]

https://github.com/sheerun/graphqlviz

- GraphQLviz [2]

https://github.com/Macroz/GraphQLviz

- GraphQL Visualizer [3]

http://nathanrandal.com/graphql-visualizer/

- GraphQLHub:

https://www.graphqlhub.com/

- PostgraphQL

https://github.com/calebmer/postgraphql

- DGraph

https://dgraph.io/

Cloud Services
--------------

- GraphQL LaunchPad

https://launchpad.graphql.com/

- GraphCool

https://www.graph.cool/

Server SDK [JavaScript]
-----------------------

- GraphQL.js

https://github.com/graphql/graphql-js

- GraphQL-Tools

http://dev.apollodata.com/tools/

https://github.com/apollostack/graphql-tools

- GraphQL-Tools Addons

https://github.com/rse/graphql-tools-types

https://github.com/rse/graphql-tools-sequelize

https://github.com/rse/graphql-tools-subscribe

- HAPI Plugin for GraphiQL Integration

https://github.com/rse/hapi-plugin-graphiql

Client SDK [JavaScript]
-----------------------

- Apollo Client [JavaScript]

http://www.apollostack.com/

http://dev.apollodata.com/

- Lokka [JavaScript]

https://github.com/kadirahq/lokka

Server or Client SDK [Others]
-----------------------------

- Sangria [Scala]

http://sangria-graphql.org/

- GraphQL-Java [Java]

https://github.com/graphql-java/graphql-java

- GraphQL-PHP [PHP]

https://github.com/webonyx/graphql-php