{"id":13499656,"url":"https://github.com/rse/graphql-tutorial","last_synced_at":"2025-04-19T09:59:06.570Z","repository":{"id":66345598,"uuid":"72127422","full_name":"rse/graphql-tutorial","owner":"rse","description":"Tutorial for GraphQL","archived":false,"fork":false,"pushed_at":"2020-09-03T23:30:46.000Z","size":4206,"stargazers_count":27,"open_issues_count":1,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-15T21:55:47.080Z","etag":null,"topics":["graphql","hapi","orm","resolver","schema","tutorial"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-10-27T16:33:01.000Z","updated_at":"2024-02-29T22:07:48.000Z","dependencies_parsed_at":"2023-02-22T02:16:13.859Z","dependency_job_id":null,"html_url":"https://github.com/rse/graphql-tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rse%2Fgraphql-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rse%2Fgraphql-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rse%2Fgraphql-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rse%2Fgraphql-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rse","download_url":"https://codeload.github.com/rse/graphql-tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249670097,"owners_count":21308673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphql","hapi","orm","resolver","schema","tutorial"],"created_at":"2024-07-31T22:00:37.673Z","updated_at":"2025-04-19T09:59:06.555Z","avatar_url":"https://github.com/rse.png","language":"JavaScript","readme":"\nGraphQL Tutorial\n================\n\nThis is a didactic introduction to GraphQL, starting from a simple Hello\nWorld to a network-based GraphQL server with a built-in GraphQL UI.\nIt is provided in the form of a tutorial which step-by-step\nintroduces more usage of GraphQL. Each tutorial step `XX` can be found\nin the file `sample-XX` and run with `npm run sample-XX`. The\ndistinct tutorial steps are:\n\n1. just plain all-in-one GraphQL \"Hello World\"\n2. replaces GraphQL schema API calls with GraphQL schema definition language\n3. split GraphQL usage into distinct parts\n4. replace \"Hello World\" with an entity \"OrgUnit\" and enable schema/resolver warnings\n5. add \"Person\" entity and use a separate data store\n6. factor out resolver functionality into generic data access object functions\n7. add QueryEntityOne DAO method for querying particular objects\n8. allow relationships to be queried and be strict on resolvers now\n9. add remaining CRUD operations (create/clone, update, delete) to GraphQL entity types\n10. wrap GraphQL application programming interface (API) with a remote network interface (RNI)\n11. replace built-in client with interactive GraphQL web user interface (GraphiQL)\n12. add descriptions to GraphQL schema for introspection inside GraphiQL\n13. move data into SQLite RDBMS and access it with Sequelize ORM\n14. wrap mutations into a single RDBMS transaction\n15. support also GraphQL over Websocket communication\n16. add GraphQL Subscription support\n17. simplify and migrate to all-in-one GraphQL-IO framework\n\nGraphQL Resources\n=================\n\nThe steadily growing GraphQL community has many resources.\nA few selected ones were hand-picked for you here.\n\nGraphQL Community\n-----------------\n\n- Awesome GraphQL [1]\u003cbr/\u003e\n  https://github.com/chentsulin/awesome-graphql\n\n- Awesome GraphQL [2]\u003cbr/\u003e\n  https://github.com/joshblack/awesome-graphql\n\nGraphQL General\n---------------\n\n- GraphQL Query \u0026 Schema Language: Learning\u003cbr/\u003e\n  http://graphql.org/learn/\n\n- GraphQL Schema Language: Learning\u003cbr/\u003e\n  http://graphql.org/learn/schema/\n\n- GraphQL Schema Language: Cheat Sheet\u003cbr/\u003e\n  https://wehavefaces.net/graphql-shorthand-notation-cheatsheet-17cd715861b6#.x5zncd650\n\n- GraphQL Query Language Specification\u003cbr/\u003e\n  http://facebook.github.io/graphql/\n\nTools\n-----\n\n- GraphiQL\u003cbr/\u003e\n  https://github.com/graphql/graphiql\u003cbr/\u003e\n  https://github.com/rse/hapi-plugin-graphiql\n\n- ChromeiQL\u003cbr/\u003e\n  https://chrome.google.com/webstore/detail/chromeiql/fkkiamalmpiidkljmicmjfbieiclmeij\n\n- GraphiCLI/Gest\u003cbr/\u003e\n  https://github.com/mfix22/graphicli\n\n- GraphQL Network for Chrome\u003cbr/\u003e\n  https://chrome.google.com/webstore/detail/graphql-network/igbmhmnkobkjalekgiehijefpkdemocm\n\n- GraphQLviz [1]\u003cbr/\u003e\n  https://github.com/sheerun/graphqlviz\n\n- GraphQLviz [2]\u003cbr/\u003e\n  https://github.com/Macroz/GraphQLviz\n\n- GraphQL Visualizer [3]\u003cbr/\u003e\n  http://nathanrandal.com/graphql-visualizer/\n\n- GraphQLHub:\u003cbr/\u003e\n  https://www.graphqlhub.com/\n\n- PostgraphQL\u003cbr/\u003e\n  https://github.com/calebmer/postgraphql\n\n- DGraph\u003cbr/\u003e\n  https://dgraph.io/\n\nCloud Services\n--------------\n\n- GraphQL LaunchPad\u003cbr/\u003e\n  https://launchpad.graphql.com/\n\n- GraphCool\u003cbr/\u003e\n  https://www.graph.cool/\n\nServer SDK [JavaScript]\n-----------------------\n\n- GraphQL.js\u003cbr/\u003e\n  https://github.com/graphql/graphql-js\n\n- GraphQL-Tools\u003cbr/\u003e\n  http://dev.apollodata.com/tools/\u003cbr/\u003e\n  https://github.com/apollostack/graphql-tools\n\n- GraphQL-Tools Addons\u003cbr/\u003e\n  https://github.com/rse/graphql-tools-types\u003cbr/\u003e\n  https://github.com/rse/graphql-tools-sequelize\u003cbr/\u003e\n  https://github.com/rse/graphql-tools-subscribe\n\n- HAPI Plugin for GraphiQL Integration\u003cbr/\u003e\n  https://github.com/rse/hapi-plugin-graphiql\n\nClient SDK [JavaScript]\n-----------------------\n\n- Apollo Client [JavaScript]\u003cbr/\u003e\n  http://www.apollostack.com/\u003cbr/\u003e\n  http://dev.apollodata.com/\n\n- Lokka [JavaScript]\u003cbr/\u003e\n  https://github.com/kadirahq/lokka\n\nServer or Client SDK [Others]\n-----------------------------\n\n- Sangria [Scala]\u003cbr/\u003e\n  http://sangria-graphql.org/\n\n- GraphQL-Java [Java]\u003cbr/\u003e\n  https://github.com/graphql-java/graphql-java\n\n- GraphQL-PHP [PHP]\u003cbr/\u003e\n  https://github.com/webonyx/graphql-php\n\n","funding_links":[],"categories":["Examples"],"sub_categories":["JavaScript Examples"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frse%2Fgraphql-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frse%2Fgraphql-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frse%2Fgraphql-tutorial/lists"}