Skip to content

rse/graphql-tutorial

Repository files navigation

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

GraphQL General

Tools

Cloud Services

Server SDK [JavaScript]

Client SDK [JavaScript]

Server or Client SDK [Others]

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •