GraphQL by Example
What you’ll learn
Build a GraphQL server based on NodeJS, Express and Apollo Server
Invoke GraphQL APIs from JavaScript client applications using regular HTTP requests or Apollo Client
Handle Authentication/Authorization, Caching, and more
Requirements
Good knowledge of modern JavaScript, including ES6+ and NodeJS
Some knowledge of Express and React preferable but not strictly required
Description
More and more teams are choosing GraphQL instead of (or along with) REST for their web APIs. GraphQL queries give clients great flexibility in the way they request data from the server, preventing issues such overfetching or underfetching of data, and allowing multiple resources to be retrieved in a single request.In this course you’ll learn how to use GraphQL both on the server side and in client applications through practical examples in the form of full-stack JavaScript applications. You will be introduced to all the main GraphQL concepts like schema definition, Queries, Mutations, and Subscriptions, as well as to solution to common requirements such as handling authentication/authorization and client-side caching.The examples use Apollo Server with Node.js and Express on the backend and React on the frontend, with GraphQL-Request first, then Apollo Client as GraphQL clients. GraphQL-WS is used for subscriptions.The aim however is not just to cover specific GraphQL libraries, but to give you a more general understanding of the underlying concepts. For instance, GraphQL client libraries are introduced only after learning how to write a simple client “by hand”, to make sure you understand the GraphQL over HTTP format.This course assumes good knowledge of modern JavaScript, and ideally some familiarity with Node.js/Express and React.
Overview
Section 1: Introduction
Lecture 1 What is GraphQL
Lecture 2 Pre-Requisites
Section 2: Fundamentals
Lecture 3 Schema Definition Language
Lecture 4 Resolver Functions
Lecture 5 Query Language
Lecture 6 GraphQL over HTTP
Lecture 7 GraphQL Client
Lecture 8 Source Code
Section 3: Queries
Lecture 9 Job Board Project
Lecture 10 Apollo Server for Express
Lecture 11 Source Code
Lecture 12 Custom Type Definition
Lecture 13 Database Resolver
Lecture 14 Field Selection
Lecture 15 Job-Company Association
Lecture 16 GraphQL-Request Client
Lecture 17 React Data Fetching
Lecture 18 Query Arguments
Lecture 19 Query Variables
Lecture 20 Exercise: Company Query
Lecture 21 Company-Jobs Association
Lecture 22 Object Graph Navigation
Lecture 23 Error Handling
Section 4: Mutations
Lecture 24 Mutation Definition
Lecture 25 Input Types
Lecture 26 Mutation Request
Lecture 27 Exercise: deleteJob Mutation
Lecture 28 Exercise: updateJob Mutation
Section 5: Authentication
Lecture 29 Authentication Flow
Lecture 30 Resolver Context
Lecture 31 User-Company Association
Lecture 32 Request Authentication
Lecture 33 Exercise: Secure Update/Delete
Section 6: Apollo Client
Lecture 34 Apollo Client Features
Lecture 35 Apollo Client Installation
Lecture 36 Query Method
Lecture 37 Query Method Variables
Lecture 38 Mutate Method
Lecture 39 Apollo Client Cache
Lecture 40 Fetch Policy
Lecture 41 Cache Manipulation
Lecture 42 Fragments
Section 7: Apollo React Hooks
Lecture 43 useQuery Hook
Lecture 44 Custom Hooks
Lecture 45 useQuery with Variables
Lecture 46 Exercise: useCompany
Lecture 47 useMutation Hook
Lecture 48 useMutation Result
Lecture 49 Exercise: useCreateJob
Section 8: Data Loaders
Lecture 50 SQL Database
Lecture 51 N+1 Query Problem
Lecture 52 DataLoader
Lecture 53 Per-Request Cache
Section 9: Subscriptions
Lecture 54 Chat Project
Lecture 55 Source Code
Lecture 56 Cache updateQuery
Lecture 57 Subscription Definition
Lecture 58 GraphQL-WS Server
Lecture 59 Subscription Resolver
Lecture 60 GraphQL-WS Client
Lecture 61 useSubscription Hook
Lecture 62 WebSocket Protocol
Lecture 63 Connection Params
Lecture 64 WebSocket Server Auth
Section 10: Conclusion
Lecture 65 Congratulations and Bonus
JavaScript developers looking to learn GraphQL
Course Information:
Udemy | English | 5h 31m | 1.95 GB
Created by: Mirko Nasato
You Can See More Courses in the Developer >> Greetings from CourseDown.com