Modern GraphQL with Node - Complete Developers Guide

10h 41m 32s
English
Paid
July 31, 2024

This course will teach you how to build a GraphQL API from absolute scratch. It is taught by a developer that has over 3 years of experience with GraphQL and has worked with it in multiple enterprise companies. By the end of this crash course, you will become an expert and know more than 99% of GraphQL hobbyists. This course isn't just aimed to teach you GraphQL, but how to properly utilize it in a real application. I hope you enjoy it!

More

We will be learning everything from scratch and thus you can be a GraphQL beginner to take this course. However, we will be using JavaScript as our primary language and thus some JS knowledge is ideal. We will also connect our server to the frontend and we will be using React as our client. Thus any frontend knowledge would be good but not unnecessary.

This course will teach you:

  • - What is GraphQL
  • - What are the benefits of GraphQL
  • - Learn GraphQL terminology
  • - How to build a GraphQL server
  • - Modern design principles
  • - Adding Authentication
  • - Working with Prisma v3 to interact with a Postgres DB
  • - Connecting GraphQL to the client
  • - Improve performance by learning about the n + 1 problem and solving it will data loaders

Watch Online Modern GraphQL with Node - Complete Developers Guide

Join premium to watch
Go to premium
# Title Duration
1 What is GraphQL 03:18
2 GraphQL Prevents Over-Fetching 06:11
3 GraphQL Prevents Under-Fetching 04:04
4 How Data is Organized 03:36
5 Local Environment Setup 02:39
6 Setting up a GraphQL Server 15:25
7 GraphQL Scalar Types 08:31
8 GraphQL Array Types 04:42
9 Nodemon for Hot Reloading 02:16
10 GraphQL Object Types 06:39
11 Querying an Array of Objects 02:54
12 Querying One Object with Variables 08:32
13 Queries for Categories 11:01
14 Relating Data (One to Many) 10:13
15 Relating Data (Many to One) 06:21
16 Reorganizing for a Better File Structure 09:00
17 The Context Param 06:00
18 Adding the Ability to Query for Reviews 09:06
19 Filtering and Input Type 11:26
20 Filter by Average Rating 11:19
21 Intro to Mutations 03:13
22 Creating Data - Part I 07:16
23 Creating Data - Part II 13:23
24 Deleting Data (with Set Null) - Part I 15:41
25 Deleting Data (with Delete Cascade) - Part II 06:54
26 Deleting Data - Part III 02:27
27 Updating Data - Part I 09:16
28 Updating Data - Part II 08:19
29 Introduction to GraphQL Design 09:57
30 A Naive Implementation 08:36
31 Rule 1 - Start with a High Level View of the Objects and Their Relationships 03:11
32 Rule 2 - Never Expose Implementation Details 02:34
33 Rule 3 - Design your API Around your Business Domain 03:22
34 Rule 4 - It's Easier to Add Fields than to Remove Them 03:01
35 Rule 5 - Group Closely-Related Fields Together into Sub-Objects 02:45
36 Rule 6 - Always Check if a List Should be Paginated 03:34
37 Rule 7 - Always use Object References Instead of ID Fields 01:50
38 Rule 8 - Choose Field Names Based on What Makes Sense, Not the Implementation 01:13
39 Rule 9 - Use Enums for Fields that can Only Take a Specific Set of Values 01:45
40 Rule 10 - Your API Should Provide Business Logic, Not Just Data 03:05
41 Rule 11 - Write Separate Mutations for Separate Logical Actions on a Resource 02:19
42 Rule 12 - For Relationship Mutations Consider Operating on Multiple Elements 01:36
43 Rule 13 - Prefix Mutation Names with the Object for Alphabetical Grouping 05:34
44 Rule 14 - Structure Mutation Inputs to Reduce Duplication 04:04
45 Rule 15 - Mutations Should Provide User/Business Level Errors 03:13
46 A New Project 05:38
47 A Little About TypeScript 04:50
48 Setting up TypeScript 07:52
49 Setting up an Apollo Server 09:57
50 A Little About SQL Databases 06:41
51 Spinning up a Postgres Instance 05:14
52 Connecting to Our Database with Prisma 06:37
53 Creating a Database Schema 10:38
54 Adding Entity Relationships 09:07
55 Defining Our GraphQL Schema 21:38
56 Creating Data with Prisma 09:28
57 Retrieving Data with Prisma 05:04
58 Updating Data with Prisma 21:17
59 Deleting Data with Prisma 06:19
60 What is Authentication & Authorization 03:37
61 A Naive Signup Implementation 11:37
62 Validating the Inputs 11:36
63 Password Hashing 15:16
64 Json Web Tokens 12:36
65 Creating a User Profile 02:12
66 Adding the Sign In Mutation 12:44
67 Identifying Users with JWT 13:22
68 Authorizing Users with JWT 10:39
69 Adding Publish/Unpublish Logic 07:11
70 The Me Query 05:20
71 The Profile Query 08:49
72 Relational Post Queries 11:39
73 The N + 1 Problem 07:47
74 Batching and Catching Queries 05:55
75 Adding a DataLoader to Improve Performace 13:43
76 Introduction to Client Connect 04:25
77 Connect the Client to GraphQL with Apollo Client 05:51
78 Querying From the Frontend 11:47
79 Querying with Variables 10:47
80 Conditional Rendering Based on Authentication Status 03:21
81 Passing the Auth Token From the Frontend 06:50
82 Executing Mutations From the Frontend 13:25
83 Adding Signin/Signup Logic 17:54
84 Adding Logic to Create a Post 10:39
85 The Last Steps 00:49

Similar courses to Modern GraphQL with Node - Complete Developers Guide

Test Driven Development with Node js

Test Driven Development with Node jsudemy

Duration 22 hours 5 minutes 3 seconds