From 5abd6f2927839f51c36a729b9bafcdf88b4140a1 Mon Sep 17 00:00:00 2001 From: syedmouaazfarrukh Date: Sat, 21 Jan 2023 09:12:31 -0800 Subject: [PATCH] Adding content to graphql --- .../100-graphql-introduction/100-what-is-graphql.md | 2 +- .../101-problems-graphql-solves.md | 9 ++------- .../100-graphql-introduction/102-thinking-in-graphs.md | 2 +- .../103-graphql-on-the-frontend.md | 3 +-- .../104-graphql-on-the-backend.md | 3 +-- .../content/101-graphql-queries/100-what-are-queries.md | 4 +--- .../graphql/content/101-graphql-queries/101-fields.md | 3 +-- .../graphql/content/101-graphql-queries/102-aliases.md | 3 +-- .../graphql/content/101-graphql-queries/103-arguments.md | 3 +-- .../content/101-graphql-queries/104-directives.md | 3 +-- .../graphql/content/101-graphql-queries/106-fragments.md | 1 - .../graphql/content/101-graphql-queries/index.md | 3 +-- .../content/102-mutations/100-what-are-mutations.md | 3 +-- .../102-mutations/101-multiple-mutation-fields.md | 4 +--- .../graphql/content/102-mutations/102-operation-name.md | 3 +-- src/roadmaps/graphql/content/102-mutations/index.md | 3 +-- .../103-subscriptions/100-what-are-subscriptions.md | 3 +-- .../103-subscriptions/101-event-based-subscriptions.md | 6 +----- .../content/103-subscriptions/102-live-queries.md | 3 +-- .../103-subscriptions/103-defer-stream-directives.md | 3 +-- src/roadmaps/graphql/content/103-subscriptions/index.md | 3 +-- .../graphql/content/104-schema/100-type-system.md | 3 +-- src/roadmaps/graphql/content/104-schema/101-fields.md | 3 +-- src/roadmaps/graphql/content/104-schema/102-scalars.md | 5 +---- src/roadmaps/graphql/content/104-schema/103-enums.md | 3 +-- .../graphql/content/104-schema/106-interfaces.md | 3 +-- src/roadmaps/graphql/content/104-schema/107-unions.md | 3 +-- src/roadmaps/graphql/content/104-schema/108-arguments.md | 3 +-- src/roadmaps/graphql/content/104-schema/index.md | 3 +-- src/roadmaps/graphql/content/104-validation.md | 3 +-- .../105-execution/101-resolvers/100-synchronous.md | 6 +----- .../graphql/content/105-execution/101-resolvers/index.md | 3 +-- .../graphql/content/105-execution/102-validation.md | 3 +-- .../content/105-execution/103-producing-the-result.md | 8 ++++---- .../100-graphql-over-http/100-caching.md | 3 +-- .../100-graphql-over-http/101-batching.md | 7 +------ .../100-graphql-over-http/102-authorization.md | 3 +-- .../101-graphql-over-websockets/101-authorization.md | 3 +-- .../102-graphql-over-sse/100-authorization.md | 3 +-- .../102-graphql-over-sse/index.md | 3 +-- src/roadmaps/graphql/content/107-pagination.md | 6 +++--- .../content/108-frontend-implementations/100-relay.md | 3 +-- .../108-frontend-implementations/101-apollo-client.md | 3 +-- .../content/108-frontend-implementations/102-urql.md | 7 +------ .../content/108-frontend-implementations/index.md | 3 +-- .../109-backend-implementations/101-graphql-yoga.md | 3 +-- .../content/109-backend-implementations/103-mercurius.md | 7 +------ .../graphql/content/109-backend-implementations/index.md | 3 +-- 48 files changed, 53 insertions(+), 123 deletions(-) diff --git a/src/roadmaps/graphql/content/100-graphql-introduction/100-what-is-graphql.md b/src/roadmaps/graphql/content/100-graphql-introduction/100-what-is-graphql.md index 31b0eac1b..95a32b054 100644 --- a/src/roadmaps/graphql/content/100-graphql-introduction/100-what-is-graphql.md +++ b/src/roadmaps/graphql/content/100-graphql-introduction/100-what-is-graphql.md @@ -1,4 +1,4 @@ -# What is graphQL +# What is GraphQL GraphQL is a query language for your API, and a server-side runtime for executing queries using a type system you define for your data. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data. diff --git a/src/roadmaps/graphql/content/100-graphql-introduction/101-problems-graphql-solves.md b/src/roadmaps/graphql/content/100-graphql-introduction/101-problems-graphql-solves.md index f99f64c56..e3884586a 100644 --- a/src/roadmaps/graphql/content/100-graphql-introduction/101-problems-graphql-solves.md +++ b/src/roadmaps/graphql/content/100-graphql-introduction/101-problems-graphql-solves.md @@ -1,4 +1,4 @@ -# Problems graphQL Solves +# Problems GraphQL Solves GraphQL solves several problems commonly faced when building APIs, including: @@ -8,9 +8,4 @@ GraphQL solves several problems commonly faced when building APIs, including: - **Inefficient versioning:** With REST, creating a new endpoint for each version of an API can quickly become cumbersome and hard to maintain. GraphQL allows for seamless versioning by adding new fields and types, rather than creating new endpoints. -- **Lack of flexibility:** REST APIs are typically fixed, meaning that the client has to work with the data structure provided by the API. GraphQL allows the client to request exactly the data it needs and receive it in a predictable format, increasing flexibility. - -To learn more, visit the following links: - -- [Why adopt GraphQL?](https://www.apollographql.com/docs/intro/benefits/) -- [GraphQL - What is it and what does it solve?](https://dev.to/juliansci/graphql-what-is-it-and-what-does-it-solve-15p1) \ No newline at end of file +- **Lack of flexibility:** REST APIs are typically fixed, meaning that the client has to work with the data structure provided by the API. GraphQL allows the client to request exactly the data it needs and receive it in a predictable format, increasing flexibility. \ No newline at end of file diff --git a/src/roadmaps/graphql/content/100-graphql-introduction/102-thinking-in-graphs.md b/src/roadmaps/graphql/content/100-graphql-introduction/102-thinking-in-graphs.md index 1efc55281..6cd1cdfbe 100644 --- a/src/roadmaps/graphql/content/100-graphql-introduction/102-thinking-in-graphs.md +++ b/src/roadmaps/graphql/content/100-graphql-introduction/102-thinking-in-graphs.md @@ -1,4 +1,4 @@ -# Thinking in graphs +# Thinking in Graphs "Thinking in Graphs" is a mindset or approach when working with GraphQL. It refers to the way that data is organized and queried in GraphQL, which is based on the concept of a graph. diff --git a/src/roadmaps/graphql/content/100-graphql-introduction/103-graphql-on-the-frontend.md b/src/roadmaps/graphql/content/100-graphql-introduction/103-graphql-on-the-frontend.md index 8a0cba9ca..305c10a63 100644 --- a/src/roadmaps/graphql/content/100-graphql-introduction/103-graphql-on-the-frontend.md +++ b/src/roadmaps/graphql/content/100-graphql-introduction/103-graphql-on-the-frontend.md @@ -8,5 +8,4 @@ By using GraphQL on the frontend, developers can benefit from the flexibility an Learn more from following links: -- [Get started with GraphQL on the frontend](https://www.smashingmagazine.com/2021/11/graphql-frontend-react-apollo/) -- [GraphQL for Front End Developers](https://www.freecodecamp.org/news/graphql-for-front-end-developers/) \ No newline at end of file +- [Get started with GraphQL on the frontend](https://www.howtographql.com/react-apollo/0-introduction/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/100-graphql-introduction/104-graphql-on-the-backend.md b/src/roadmaps/graphql/content/100-graphql-introduction/104-graphql-on-the-backend.md index 0d3831161..0faf3c1bb 100644 --- a/src/roadmaps/graphql/content/100-graphql-introduction/104-graphql-on-the-backend.md +++ b/src/roadmaps/graphql/content/100-graphql-introduction/104-graphql-on-the-backend.md @@ -8,5 +8,4 @@ The GraphQL server is responsible for handling the incoming queries and mutation Learn more from the following links: -- [GraphQL Codegen adds a new Java Backend plugin](https://medium.com/the-guild/graphql-codegen-adds-a-new-apollo-android-and-a-new-java-backend-plugins-57832b024e7b) -- [How to use GraphQL to build Backend?](https://blog.bitsrc.io/how-to-use-graphql-to-build-backend-for-frontends-bffs-4b7e5a0105d0) \ No newline at end of file +- [How to use GraphQL in Backend?](https://www.howtographql.com/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/101-graphql-queries/100-what-are-queries.md b/src/roadmaps/graphql/content/101-graphql-queries/100-what-are-queries.md index 3b841cfe1..30f3db71a 100644 --- a/src/roadmaps/graphql/content/101-graphql-queries/100-what-are-queries.md +++ b/src/roadmaps/graphql/content/101-graphql-queries/100-what-are-queries.md @@ -4,6 +4,4 @@ In GraphQL, a query is a request made by the client to the server to retrieve da Learn more from following links: -- [Introduction of GraphQL - Query](https://www.tutorialspoint.com/graphql/graphql_query.htm) -- [What is a GraphQL Query?](https://www.apollographql.com/blog/graphql/examples/what-is-a-graphql-query-graphql-query-using-apollo-explorer/) -- [Understanding GraphQL Queries](https://www.youtube.com/watch?v=_hTnvOFKsUs) +- [Introduction of GraphQL - Query](https://graphql.org/learn/queries/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/101-graphql-queries/101-fields.md b/src/roadmaps/graphql/content/101-graphql-queries/101-fields.md index c4c2edf38..c2c3a5eaf 100644 --- a/src/roadmaps/graphql/content/101-graphql-queries/101-fields.md +++ b/src/roadmaps/graphql/content/101-graphql-queries/101-fields.md @@ -6,5 +6,4 @@ Fields are defined in the GraphQL schema, which is a blueprint of the data that Learn more from the following links: -- [GraphQL Tutorial: How to use fields?](https://www.educative.io/blog/graphql-tutorial) -- [GraphQL: Types and Fields](https://typegraphql.com/docs/types-and-fields.html) \ No newline at end of file +- [GraphQL: Types and Fields](https://graphql.org/learn/queries/#fields) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/101-graphql-queries/102-aliases.md b/src/roadmaps/graphql/content/101-graphql-queries/102-aliases.md index 92ee2c9c3..21fe89d08 100644 --- a/src/roadmaps/graphql/content/101-graphql-queries/102-aliases.md +++ b/src/roadmaps/graphql/content/101-graphql-queries/102-aliases.md @@ -4,5 +4,4 @@ Aliases in GraphQL are a way to rename fields when they are requested in a query To learn more, visit the following links: -- [What are GraphQL aliases?](https://blog.logrocket.com/using-aliases-graphql/) -- [How to use GraphQL aliases?](https://atheros.ai/blog/how-to-use-graphql-aliases) \ No newline at end of file +- [What are GraphQL Aliases?](https://graphql.org/learn/queries/#aliases) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/101-graphql-queries/103-arguments.md b/src/roadmaps/graphql/content/101-graphql-queries/103-arguments.md index 6ccf47e4b..04e75550b 100644 --- a/src/roadmaps/graphql/content/101-graphql-queries/103-arguments.md +++ b/src/roadmaps/graphql/content/101-graphql-queries/103-arguments.md @@ -4,5 +4,4 @@ Arguments in GraphQL are pieces of information that are passed to a field or a d Learn more from the following links: -- [GraphQL - Passing Arguments](https://graphql.org/graphql-js/passing-arguments/) -- [Different ways to pass an argument in GraphQL?](educative.io/answers/what-are-different-ways-to-pass-an-argument-in-graphql) \ No newline at end of file +- [GraphQL - Arguments](https://graphql.org/learn/queries/#arguments) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/101-graphql-queries/104-directives.md b/src/roadmaps/graphql/content/101-graphql-queries/104-directives.md index 328ff3907..9122c844a 100644 --- a/src/roadmaps/graphql/content/101-graphql-queries/104-directives.md +++ b/src/roadmaps/graphql/content/101-graphql-queries/104-directives.md @@ -4,5 +4,4 @@ Directives in GraphQL are a way to modify the execution of a query or a field. T To learn more, visit the following links: -- [Directives in GraphQL](https://www.apollographql.com/docs/apollo-server/schema/directives/) -- [What You Need to Know About GraphQL Directives](https://stepzen.com/blog/graphql-directives) \ No newline at end of file +- [Directives in GraphQL](https://graphql.org/learn/queries/#directives) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/101-graphql-queries/106-fragments.md b/src/roadmaps/graphql/content/101-graphql-queries/106-fragments.md index baa790edb..13b171b53 100644 --- a/src/roadmaps/graphql/content/101-graphql-queries/106-fragments.md +++ b/src/roadmaps/graphql/content/101-graphql-queries/106-fragments.md @@ -4,5 +4,4 @@ In GraphQL, a fragment is a reusable piece of a GraphQL query that can be used t To learn more, visit the following links: -- [Fragments of GraphQL](https://graphql.org/learn/queries/#fragments) - [Intro to Fragments in GraphQL](https://graphql.org/learn/queries/#fragments) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/101-graphql-queries/index.md b/src/roadmaps/graphql/content/101-graphql-queries/index.md index 8f89224e5..5e5b30719 100644 --- a/src/roadmaps/graphql/content/101-graphql-queries/index.md +++ b/src/roadmaps/graphql/content/101-graphql-queries/index.md @@ -6,5 +6,4 @@ A GraphQL query is structured as a single object, with a "query" or "mutation" f To learn more, visit the following links: -- [what is GraphQL queries](https://graphql.org/learn/queries/) -- [Live Queries - Real Time with GraphQL](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql) \ No newline at end of file +- [What are GraphQL Queries?](https://graphql.org/learn/queries/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/102-mutations/100-what-are-mutations.md b/src/roadmaps/graphql/content/102-mutations/100-what-are-mutations.md index 39c26ded1..86b04c7c3 100644 --- a/src/roadmaps/graphql/content/102-mutations/100-what-are-mutations.md +++ b/src/roadmaps/graphql/content/102-mutations/100-what-are-mutations.md @@ -6,5 +6,4 @@ A mutation typically includes fields that specify the data to be changed and the Learn more from the following resources: -- [Get started with Mutations](https://graphql.org/learn/queries/#mutations) -- [What is a GraphQL Mutation?](https://hasura.io/learn/graphql/intro-graphql/graphql-mutations/) \ No newline at end of file +- [Get started with Mutations](https://graphql.org/learn/queries/#mutations) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/102-mutations/101-multiple-mutation-fields.md b/src/roadmaps/graphql/content/102-mutations/101-multiple-mutation-fields.md index 54b535200..4e3388a9c 100644 --- a/src/roadmaps/graphql/content/102-mutations/101-multiple-mutation-fields.md +++ b/src/roadmaps/graphql/content/102-mutations/101-multiple-mutation-fields.md @@ -4,6 +4,4 @@ In GraphQL, it is possible to perform multiple mutations in a single query by in Learn more from the following links: -- [Guide to Multiple fields in mutations](https://graphql.org/learn/queries/#multiple-fields-in-mutations) -- [Multiple fields in mutations](https://dgraph.io/docs/graphql/mutations/mutations-overview/) -- [Multiple mutations in a single GraphQL request](https://www.ibm.com/docs/en/filenet-p8-platform/5.5.x?topic=mutations-multiple-in-single-graphql-request) \ No newline at end of file +- [Guide to Multiple fields in mutations](https://graphql.org/learn/queries/#multiple-fields-in-mutations) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/102-mutations/102-operation-name.md b/src/roadmaps/graphql/content/102-mutations/102-operation-name.md index ddd64aa9d..f5eba5e10 100644 --- a/src/roadmaps/graphql/content/102-mutations/102-operation-name.md +++ b/src/roadmaps/graphql/content/102-mutations/102-operation-name.md @@ -4,5 +4,4 @@ In GraphQL, an operation name is an optional identifier that can be used to uniq Learn more from the following resources: -- [Intro to Operation Name](https://graphql.org/learn/queries/#operation-name) -- [How to Use GraphQL Operation Names](https://www.shopify.com/partners/blog/graphql-operation-names-and-variables) \ No newline at end of file +- [Intro to Operation Name](https://graphql.org/learn/queries/#operation-name) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/102-mutations/index.md b/src/roadmaps/graphql/content/102-mutations/index.md index 13cfc84e2..7339efa5d 100644 --- a/src/roadmaps/graphql/content/102-mutations/index.md +++ b/src/roadmaps/graphql/content/102-mutations/index.md @@ -6,5 +6,4 @@ The mutation includes fields that specify the data to be changed, the operation To learn more, visit the following links: -- [Getting started with Mutations](https://graphql.org/learn/queries/#mutations) -- [Tutorial - Mutations in GraphQL](https://www.youtube.com/watch?v=DU77lbBPfBI) \ No newline at end of file +- [Getting started with Mutations](https://graphql.org/learn/queries/#mutations) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/103-subscriptions/100-what-are-subscriptions.md b/src/roadmaps/graphql/content/103-subscriptions/100-what-are-subscriptions.md index 63e3a76b0..e0dd3330e 100644 --- a/src/roadmaps/graphql/content/103-subscriptions/100-what-are-subscriptions.md +++ b/src/roadmaps/graphql/content/103-subscriptions/100-what-are-subscriptions.md @@ -6,5 +6,4 @@ Subscriptions are defined on the server and are structured similar to queries an To learn more, visit the following links: -- [How GraphQL Subscriptions Work](https://www.youtube.com/watch?v=_r2ooFgBdoc) -- [Realtime Updates with GraphQL Subscriptions](https://www.howtographql.com/vue-apollo/8-subscriptions/) \ No newline at end of file +- [How GraphQL Subscriptions Work?](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/103-subscriptions/101-event-based-subscriptions.md b/src/roadmaps/graphql/content/103-subscriptions/101-event-based-subscriptions.md index 3344fc294..ce38e5d6e 100644 --- a/src/roadmaps/graphql/content/103-subscriptions/101-event-based-subscriptions.md +++ b/src/roadmaps/graphql/content/103-subscriptions/101-event-based-subscriptions.md @@ -2,8 +2,4 @@ Event-based subscriptions in GraphQL are a way to push real-time updates to the client based on specific events that occur on the server. These events can be triggered by external sources such as user actions, sensor data, or other systems, or by internal actions such as database updates. -With event-based subscriptions, the client can subscribe to a specific event or set of events and receive updates in real-time as soon as the event occurs. This allows the client to receive notifications about important changes in the system without the need to constantly poll the server for updates. - -Learn more from the following links: - -- [Event-stream based GraphQL Subscriptions](https://gist.github.com/OlegIlyenko/a5a9ab1b000ba0b5b1ad) \ No newline at end of file +With event-based subscriptions, the client can subscribe to a specific event or set of events and receive updates in real-time as soon as the event occurs. This allows the client to receive notifications about important changes in the system without the need to constantly poll the server for updates. \ No newline at end of file diff --git a/src/roadmaps/graphql/content/103-subscriptions/102-live-queries.md b/src/roadmaps/graphql/content/103-subscriptions/102-live-queries.md index b70d41e54..c8e5d7475 100644 --- a/src/roadmaps/graphql/content/103-subscriptions/102-live-queries.md +++ b/src/roadmaps/graphql/content/103-subscriptions/102-live-queries.md @@ -6,5 +6,4 @@ With live queries, the client can subscribe to a specific query and receive upda Learn more from the following links: -- [GraphQL Live Queries](https://graphql.wtf/episodes/54-graphql-live-queries) -- [Tutorial - GraphQL Live Queries](https://www.youtube.com/watch?v=iamn8fZSEXc) \ No newline at end of file +- [GraphQL Live Queries](https://the-guild.dev/blog/collecting-graphql-live-query-resource-identifier-with-graphql-tools) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/103-subscriptions/103-defer-stream-directives.md b/src/roadmaps/graphql/content/103-subscriptions/103-defer-stream-directives.md index d5c745d28..4cd306b6a 100644 --- a/src/roadmaps/graphql/content/103-subscriptions/103-defer-stream-directives.md +++ b/src/roadmaps/graphql/content/103-subscriptions/103-defer-stream-directives.md @@ -6,5 +6,4 @@ The "defer" directive is used to delay the fetching of a field's data until the Learn more from the following links: -- [Defer and Stream in GraphQL](https://the-guild.dev/graphql/yoga-server/docs/features/defer-stream) -- [Tutorial - Defer and Stream Directives in GraphQL](https://www.youtube.com/watch?v=icv_Pq06aOY) \ No newline at end of file +- [Defer and Stream in GraphQL](https://the-guild.dev/graphql/yoga-server/docs/features/defer-stream) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/103-subscriptions/index.md b/src/roadmaps/graphql/content/103-subscriptions/index.md index 85f6898eb..d3ca0b918 100644 --- a/src/roadmaps/graphql/content/103-subscriptions/index.md +++ b/src/roadmaps/graphql/content/103-subscriptions/index.md @@ -6,5 +6,4 @@ A subscription includes a "subscription" field at the top level, followed by the Learn more from following links: -- [Subscriptions and Live Queries - Real Time with GraphQL](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql) -- [Realtime GraphQL Subscriptions](https://www.howtographql.com/graphql-js/7-subscriptions/) \ No newline at end of file +- [Subscriptions and Live Queries - Real Time with GraphQL](https://the-guild.dev/blog/subscriptions-and-live-queries-real-time-with-graphql) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/104-schema/100-type-system.md b/src/roadmaps/graphql/content/104-schema/100-type-system.md index 4f2eb3dfb..e27deee8c 100644 --- a/src/roadmaps/graphql/content/104-schema/100-type-system.md +++ b/src/roadmaps/graphql/content/104-schema/100-type-system.md @@ -10,5 +10,4 @@ GraphQL is a strongly typed language. Type System defines various data types tha Learn more from the following links: -- [Get started with Type system](https://graphql.org/learn/schema/#type-system) -- [GraphQL - Type System](https://www.tutorialspoint.com/graphql/graphql_type_system.htm) \ No newline at end of file +- [Get started with Type system](https://graphql.org/learn/schema/#type-system) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/104-schema/101-fields.md b/src/roadmaps/graphql/content/104-schema/101-fields.md index f6555a036..710aff427 100644 --- a/src/roadmaps/graphql/content/104-schema/101-fields.md +++ b/src/roadmaps/graphql/content/104-schema/101-fields.md @@ -6,5 +6,4 @@ Each field in a GraphQL schema can return a scalar value (such as a string or an Learn more from the following links: -- [GraphQL Tutorial: How to use fields?](https://www.educative.io/blog/graphql-tutorial) -- [GraphQL: Types and Fields](https://typegraphql.com/docs/types-and-fields.html) \ No newline at end of file +- [GraphQL: Types and Fields](https://graphql.org/learn/queries/#fields) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/104-schema/102-scalars.md b/src/roadmaps/graphql/content/104-schema/102-scalars.md index 16dbe20b2..1bc3d9bcf 100644 --- a/src/roadmaps/graphql/content/104-schema/102-scalars.md +++ b/src/roadmaps/graphql/content/104-schema/102-scalars.md @@ -14,7 +14,4 @@ Scalars are “leaf” values in GraphQL. There are several built-in scalars, an Learn more from the following links: -- [Get started with Scalars in GraphQL](https://graphql.org/learn/schema/#scalar-types) -- [Custom GraphQL Scalars](https://www.howtographql.com/typescript-apollo/7-voting-and-scalars/) -- [Overview of GraphQL Scalars 1.0](https://medium.com/the-guild/graphql-scalars-1-0-is-out-more-types-data-integrity-and-strict-validations-on-graphql-972079428fb) -- [Scalars in GraphQL](https://graphql-ruby.org/type_definitions/scalars) \ No newline at end of file +- [Get started with Scalars in GraphQL](https://graphql.org/learn/schema/#scalar-types) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/104-schema/103-enums.md b/src/roadmaps/graphql/content/104-schema/103-enums.md index e619fb8bd..fbf71f5dc 100644 --- a/src/roadmaps/graphql/content/104-schema/103-enums.md +++ b/src/roadmaps/graphql/content/104-schema/103-enums.md @@ -7,5 +7,4 @@ Enums also called as enumeration types are a special kind of scalar that is rest Learn more from the following links: -- [What are Enums?](https://graphql.org/learn/schema/#enumeration-types) -- [Get started with Enums](https://graphql-ruby.org/type_definitions/enums) \ No newline at end of file +- [What are Enums?](https://graphql.org/learn/schema/#enumeration-types) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/104-schema/106-interfaces.md b/src/roadmaps/graphql/content/104-schema/106-interfaces.md index 76306ad21..e2060c02f 100644 --- a/src/roadmaps/graphql/content/104-schema/106-interfaces.md +++ b/src/roadmaps/graphql/content/104-schema/106-interfaces.md @@ -6,5 +6,4 @@ In GraphQL, lists can also be used within interfaces to define the return type f Learn more from the following links: -- [Get started with Interfaces](https://graphql.org/learn/schema/#interfaces) -- [Interfaces in GraphQL](https://graphql-ruby.org/type_definitions/interfaces) \ No newline at end of file +- [Get started with Interfaces](https://graphql.org/learn/schema/#interfaces) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/104-schema/107-unions.md b/src/roadmaps/graphql/content/104-schema/107-unions.md index 884ff84cf..6e35131b7 100644 --- a/src/roadmaps/graphql/content/104-schema/107-unions.md +++ b/src/roadmaps/graphql/content/104-schema/107-unions.md @@ -6,5 +6,4 @@ Unions don't allow to specify a common set of fields to be queried across multip Learn more from the following links: -- [Get started with Union in GraphQL](https://graphql.org/learn/schema/#union-types) -- [Unions in GraphQL](https://www.apollographql.com/docs/apollo-server/schema/unions-interfaces/) \ No newline at end of file +- [Get started with Union in GraphQL](https://graphql.org/learn/schema/#union-types) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/104-schema/108-arguments.md b/src/roadmaps/graphql/content/104-schema/108-arguments.md index 871b47aef..25b064c3d 100644 --- a/src/roadmaps/graphql/content/104-schema/108-arguments.md +++ b/src/roadmaps/graphql/content/104-schema/108-arguments.md @@ -4,5 +4,4 @@ In GraphQL, an argument is a value that is passed to a field in a query or mutat To learn more, visit the following links: -- [Get started with Arguments in GraphQL](https://graphql.org/learn/schema/#arguments) -- [Tutorial - Arguments in GraphQL](https://www.apollographql.com/tutorials/lift-off-part3/03-graphql-arguments) \ No newline at end of file +- [Get started with Arguments in GraphQL](https://graphql.org/learn/schema/#arguments) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/104-schema/index.md b/src/roadmaps/graphql/content/104-schema/index.md index 4ccef0706..d839363ff 100644 --- a/src/roadmaps/graphql/content/104-schema/index.md +++ b/src/roadmaps/graphql/content/104-schema/index.md @@ -6,5 +6,4 @@ A GraphQL schema is defined using the GraphQL Schema Definition Language (SDL), Learn more from the following links: -- [Get started with Schema](https://graphql.org/learn/schema/) -- [Complete guide to GraphQL Schema](https://www.apollographql.com/docs/apollo-server/schema/schema/) \ No newline at end of file +- [Get started with Schema](https://graphql.org/learn/schema/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/104-validation.md b/src/roadmaps/graphql/content/104-validation.md index b27a1db0b..2f006dfcc 100644 --- a/src/roadmaps/graphql/content/104-validation.md +++ b/src/roadmaps/graphql/content/104-validation.md @@ -4,5 +4,4 @@ Validation in GraphQL refers to the process of checking whether a GraphQL query Learn more from the following links: -- [Get Started with Validation in GraphQL](https://graphql.org/learn/validation/) -- [Validate GraphQL Schema](https://medium.com/the-guild/validate-graphql-schema-70e2f63451c8) \ No newline at end of file +- [Get Started with Validation in GraphQL](https://graphql.org/learn/validation/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/105-execution/101-resolvers/100-synchronous.md b/src/roadmaps/graphql/content/105-execution/101-resolvers/100-synchronous.md index f55244951..a040af36a 100644 --- a/src/roadmaps/graphql/content/105-execution/101-resolvers/100-synchronous.md +++ b/src/roadmaps/graphql/content/105-execution/101-resolvers/100-synchronous.md @@ -2,8 +2,4 @@ In GraphQL, a resolver is a function that is responsible for fetching the data for a field in a query or mutation. Resolvers are defined in the schema and are executed by the GraphQL server when a query or mutation is received. -A synchronous resolver is a type of resolver that runs and completes its execution before returning any value. It directly returns the result of the computation, without waiting for any external event such as a database query or a third-party API call. - -Learn more from the following links: - -- [Get Started with Synchronous](https://graphql.org/learn/asynchronous/) \ No newline at end of file +A synchronous resolver is a type of resolver that runs and completes its execution before returning any value. It directly returns the result of the computation, without waiting for any external event such as a database query or a third-party API call. \ No newline at end of file diff --git a/src/roadmaps/graphql/content/105-execution/101-resolvers/index.md b/src/roadmaps/graphql/content/105-execution/101-resolvers/index.md index 46d486d67..07b8a9ca8 100644 --- a/src/roadmaps/graphql/content/105-execution/101-resolvers/index.md +++ b/src/roadmaps/graphql/content/105-execution/101-resolvers/index.md @@ -6,5 +6,4 @@ Each field in a GraphQL schema has a corresponding resolver function that is res Learn more from the following links: -- [Complete guide to Resolver](https://www.apollographql.com/docs/apollo-server/data/resolvers/) -- [Tutorial - Resolvers](https://www.tutorialspoint.com/graphql/graphql_resolver.htm) \ No newline at end of file +- [Guide to Resolver](https://the-guild.dev/blog/better-type-safety-for-resolvers-with-graphql-codegen) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/105-execution/102-validation.md b/src/roadmaps/graphql/content/105-execution/102-validation.md index f3498c334..0e3ae420a 100644 --- a/src/roadmaps/graphql/content/105-execution/102-validation.md +++ b/src/roadmaps/graphql/content/105-execution/102-validation.md @@ -6,5 +6,4 @@ GraphQL servers perform validation on all incoming queries and mutations to ensu Learn more from the following links: -- [Get Started with Validation in GraphQL](https://graphql.org/learn/validation/) -- [Validation in GraphQL](https://www.youtube.com/watch?v=cCBFY1yShUA) \ No newline at end of file +- [Get Started with Validation in GraphQL](https://graphql.org/learn/validation/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/105-execution/103-producing-the-result.md b/src/roadmaps/graphql/content/105-execution/103-producing-the-result.md index 843eeec81..467087ef3 100644 --- a/src/roadmaps/graphql/content/105-execution/103-producing-the-result.md +++ b/src/roadmaps/graphql/content/105-execution/103-producing-the-result.md @@ -4,10 +4,10 @@ In GraphQL, producing the result refers to the process of generating the final r When a client sends a query or mutation to a GraphQL server, the server performs several steps to produce the result: -Parsing: The query or mutation is parsed and converted into an abstract syntax tree (AST) -Validation: The query or mutation is validated against the schema to ensure that it is well-formed and adheres to the schema definition. -Execution: The resolvers for the selected fields are executed, and the data is retrieved from the data source. -Formatting: The data is formatted and organized into the final response, according to the requirements of the query or mutation. +- Parsing: The query or mutation is parsed and converted into an abstract syntax tree (AST) +- Validation: The query or mutation is validated against the schema to ensure that it is well-formed and adheres to the schema definition. +- Execution: The resolvers for the selected fields are executed, and the data is retrieved from the data source. +- Formatting: The data is formatted and organized into the final response, according to the requirements of the query or mutation. Learn more from the following links: diff --git a/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/100-caching.md b/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/100-caching.md index 26dc98f9e..0f4df148d 100644 --- a/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/100-caching.md +++ b/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/100-caching.md @@ -10,5 +10,4 @@ There are several types of caching that can be used in GraphQL: Learn more from the following links: -- [Get started with Caching](https://graphql.org/learn/caching/) -- [How to Cache GraphQL?](https://www.youtube.com/watch?v=8EiF8j4s-os) \ No newline at end of file +- [Get started with Caching](https://graphql.org/learn/caching/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/101-batching.md b/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/101-batching.md index 460dced20..4e5528fcb 100644 --- a/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/101-batching.md +++ b/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/101-batching.md @@ -6,9 +6,4 @@ There are several ways to implement batching in GraphQL: - Using a batching library: This approach involves using a library such as apollo-link-batch-http, which provides a way to batch multiple queries or mutations into a single request. - Using a middleware: This approach involves using a middleware such as graphql-batch, which allows you to batch multiple queries or mutations into a single request. -- Using a serverless function: This approach involves using a serverless function such as AWS Lambda, which allows you to batch multiple queries or mutations into a single request. - -To learn more, visit the following links: - -- [Guide to Batching Client GraphQL](https://www.apollographql.com/blog/apollo-client/performance/batching-client-graphql-queries/) -- [Batching - GraphQL](https://graphql-java.com/documentation/batching/) \ No newline at end of file +- Using a serverless function: This approach involves using a serverless function such as AWS Lambda, which allows you to batch multiple queries or mutations into a single request. \ No newline at end of file diff --git a/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/102-authorization.md b/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/102-authorization.md index 48efc8c52..720bbaaa1 100644 --- a/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/102-authorization.md +++ b/src/roadmaps/graphql/content/106-serving-over-internet/100-graphql-over-http/102-authorization.md @@ -10,5 +10,4 @@ There are several ways to implement authorization in GraphQL: To learn more, visit the following links: -- [Get Started with Authorization](https://graphql.org/learn/authorization/) -- [Authorization with GraphQL Shield](https://www.youtube.com/watch?v=DvjRCnrYFcg) \ No newline at end of file +- [Get Started with Authorization](https://graphql.org/learn/authorization/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/106-serving-over-internet/101-graphql-over-websockets/101-authorization.md b/src/roadmaps/graphql/content/106-serving-over-internet/101-graphql-over-websockets/101-authorization.md index 48efc8c52..720bbaaa1 100644 --- a/src/roadmaps/graphql/content/106-serving-over-internet/101-graphql-over-websockets/101-authorization.md +++ b/src/roadmaps/graphql/content/106-serving-over-internet/101-graphql-over-websockets/101-authorization.md @@ -10,5 +10,4 @@ There are several ways to implement authorization in GraphQL: To learn more, visit the following links: -- [Get Started with Authorization](https://graphql.org/learn/authorization/) -- [Authorization with GraphQL Shield](https://www.youtube.com/watch?v=DvjRCnrYFcg) \ No newline at end of file +- [Get Started with Authorization](https://graphql.org/learn/authorization/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/106-serving-over-internet/102-graphql-over-sse/100-authorization.md b/src/roadmaps/graphql/content/106-serving-over-internet/102-graphql-over-sse/100-authorization.md index 48efc8c52..720bbaaa1 100644 --- a/src/roadmaps/graphql/content/106-serving-over-internet/102-graphql-over-sse/100-authorization.md +++ b/src/roadmaps/graphql/content/106-serving-over-internet/102-graphql-over-sse/100-authorization.md @@ -10,5 +10,4 @@ There are several ways to implement authorization in GraphQL: To learn more, visit the following links: -- [Get Started with Authorization](https://graphql.org/learn/authorization/) -- [Authorization with GraphQL Shield](https://www.youtube.com/watch?v=DvjRCnrYFcg) \ No newline at end of file +- [Get Started with Authorization](https://graphql.org/learn/authorization/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/106-serving-over-internet/102-graphql-over-sse/index.md b/src/roadmaps/graphql/content/106-serving-over-internet/102-graphql-over-sse/index.md index 24249ef08..23a6cbd3e 100644 --- a/src/roadmaps/graphql/content/106-serving-over-internet/102-graphql-over-sse/index.md +++ b/src/roadmaps/graphql/content/106-serving-over-internet/102-graphql-over-sse/index.md @@ -8,5 +8,4 @@ To implement GraphQL over SSE, you can use a library such as graphql-sse which p To learn more, visit the following links: -- [Overview of GraphQL over SSE (Server-Sent Events)](https://the-guild.dev/blog/graphql-over-sse) -- [GraphQL Subscriptions with Server Sent Events](https://www.youtube.com/watch?v=oZtTut7QsZ8) \ No newline at end of file +- [Overview of GraphQL over SSE (Server-Sent Events)](https://the-guild.dev/blog/graphql-over-sse) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/107-pagination.md b/src/roadmaps/graphql/content/107-pagination.md index 43ea139f0..c309c61bf 100644 --- a/src/roadmaps/graphql/content/107-pagination.md +++ b/src/roadmaps/graphql/content/107-pagination.md @@ -4,9 +4,9 @@ Pagination in GraphQL refers to the process of breaking up large sets of data in There are several ways to implement pagination in GraphQL: -- Using cursor-based pagination -- Using offset-based pagination -- Using relay-style pagination +- Cursor-based pagination +- Offset-based pagination +- Relay-style pagination To learn more, visit the following links: diff --git a/src/roadmaps/graphql/content/108-frontend-implementations/100-relay.md b/src/roadmaps/graphql/content/108-frontend-implementations/100-relay.md index 94f33c697..fa6200ff5 100644 --- a/src/roadmaps/graphql/content/108-frontend-implementations/100-relay.md +++ b/src/roadmaps/graphql/content/108-frontend-implementations/100-relay.md @@ -6,5 +6,4 @@ Relay is designed to work with GraphQL on the server and provides a set of clien Learn more from the following links: -- [Relay - GraphQL](https://relay.dev/) -- [Introducing Relay and GraphQL](https://reactjs.org/blog/2015/02/20/introducing-relay-and-graphql.html) \ No newline at end of file +- [GraphQL Code Generator & Relay Compiler](https://the-guild.dev/blog/graphql-codegen-relay-compiler) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/108-frontend-implementations/101-apollo-client.md b/src/roadmaps/graphql/content/108-frontend-implementations/101-apollo-client.md index 6a8396e0d..d82822f4c 100644 --- a/src/roadmaps/graphql/content/108-frontend-implementations/101-apollo-client.md +++ b/src/roadmaps/graphql/content/108-frontend-implementations/101-apollo-client.md @@ -6,5 +6,4 @@ Apollo Client provides a set of features that make it easy to interact with a Gr Learn more from the following links: -- [Why Apollo Client?](https://www.apollographql.com/docs/react/why-apollo/) -- [What Is Apollo in GraphQL?](https://www.youtube.com/watch?v=mSzUb7f47qk) \ No newline at end of file +- [Why Apollo Client - Frontend?](https://www.howtographql.com/react-apollo/0-introduction/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/108-frontend-implementations/102-urql.md b/src/roadmaps/graphql/content/108-frontend-implementations/102-urql.md index f733e7ef5..6bad28c1a 100644 --- a/src/roadmaps/graphql/content/108-frontend-implementations/102-urql.md +++ b/src/roadmaps/graphql/content/108-frontend-implementations/102-urql.md @@ -1,8 +1,3 @@ # URQL -URQL is a highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow. It's built to be both easy to use for newcomers to GraphQL, and extensible, to grow to support dynamic single-app applications and highly customized GraphQL infrastructure. - -To learn more from the following links: - -- [URQL - Documentations](https://formidable.com/open-source/urql/) -- [GraphQL and Urql by Example](https://dev.to/open-graphql/graphql-and-urql-by-example-1ldc) +URQL is a highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow. It's built to be both easy to use for newcomers to GraphQL, and extensible, to grow to support dynamic single-app applications and highly customized GraphQL infrastructure. \ No newline at end of file diff --git a/src/roadmaps/graphql/content/108-frontend-implementations/index.md b/src/roadmaps/graphql/content/108-frontend-implementations/index.md index a64408691..fe5338430 100644 --- a/src/roadmaps/graphql/content/108-frontend-implementations/index.md +++ b/src/roadmaps/graphql/content/108-frontend-implementations/index.md @@ -7,5 +7,4 @@ When using GraphQL on the frontend, developers can use a GraphQL client library, Learn more from the following links: -- [A guide to GraphQL for front-end developers](https://www.freecodecamp.org/news/graphql-for-front-end-developers-1f59808f4435/) -- [GraphQL for Front End Developers](https://www.freecodecamp.org/news/graphql-for-front-end-developers/) \ No newline at end of file +- [Guide to GraphQL for Front-End Developers](https://www.howtographql.com/react-apollo/0-introduction/) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/109-backend-implementations/101-graphql-yoga.md b/src/roadmaps/graphql/content/109-backend-implementations/101-graphql-yoga.md index 4da316a9f..a742c84d8 100644 --- a/src/roadmaps/graphql/content/109-backend-implementations/101-graphql-yoga.md +++ b/src/roadmaps/graphql/content/109-backend-implementations/101-graphql-yoga.md @@ -6,5 +6,4 @@ One of the key features of GraphQL Yoga is that it provides a set of built-in fu Learn more from the following links: -- [Tutorial - GraphQL Yoga](https://www.youtube.com/watch?v=_-B6QIFSSwo) -- [Examples of GraphQL Yoga](https://codesandbox.io/examples/package/graphql-yoga) \ No newline at end of file +- [GraphQL Armor - for Yoga Server 2](https://the-guild.dev/blog/improved-security-with-graphql-armor-support-for-yoga-server-2) \ No newline at end of file diff --git a/src/roadmaps/graphql/content/109-backend-implementations/103-mercurius.md b/src/roadmaps/graphql/content/109-backend-implementations/103-mercurius.md index 2f0932de1..b4b84e08b 100644 --- a/src/roadmaps/graphql/content/109-backend-implementations/103-mercurius.md +++ b/src/roadmaps/graphql/content/109-backend-implementations/103-mercurius.md @@ -2,9 +2,4 @@ Mercurius is an open-source library for building real-time GraphQL servers in Node.js. It provides a simple and flexible way to build GraphQL servers by providing a set of tools and features for handling real-time subscriptions. -One of the key features of Mercurius is that it is built on top of the popular WebSockets protocol and it allows the client to subscribe to real-time updates from the server. It also supports batching and caching of queries and mutations, which allows for efficient and fast data transfer between the client and server. - -Learn more from the following links: - -- [What Is Mercurious? - GraphQL Server](https://www.youtube.com/watch?v=9nd11l7KpFI) -- [Documentations of Mercurius](https://mercurius.dev/#/) \ No newline at end of file +One of the key features of Mercurius is that it is built on top of the popular WebSockets protocol and it allows the client to subscribe to real-time updates from the server. It also supports batching and caching of queries and mutations, which allows for efficient and fast data transfer between the client and server. \ No newline at end of file diff --git a/src/roadmaps/graphql/content/109-backend-implementations/index.md b/src/roadmaps/graphql/content/109-backend-implementations/index.md index 9769a31c6..2e89c23b7 100644 --- a/src/roadmaps/graphql/content/109-backend-implementations/index.md +++ b/src/roadmaps/graphql/content/109-backend-implementations/index.md @@ -9,5 +9,4 @@ There are several ways to implement a GraphQL backend, depending on the use case Learn more from the following links: -- [How to use GraphQL to build Backend-For-Frontends](https://blog.bitsrc.io/how-to-use-graphql-to-build-backend-for-frontends-bffs-4b7e5a0105d0) -- [Creating A GraphQL Backend](https://www.youtube.com/watch?v=6duKEokTZ44) \ No newline at end of file +- [How to use GraphQL to build Backend?](https://www.howtographql.com/typescript-apollo/0-introduction/) \ No newline at end of file