Modern GraphQL with Node - Complete Developers Guide

10h 41m 32s
English
Paid

Course description

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!

Read more about the course

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

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 85 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Modern GraphQL with Node - Complete Developers Guide

0:00
/
#1: What is GraphQL

All Course Lessons (85)

#Lesson TitleDurationAccess
1
What is GraphQL Demo
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

Unlock unlimited learning

Get instant access to all 84 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

MERN Stack - React Node from Scratch Building Social Network

MERN Stack - React Node from Scratch Building Social Network

Sources: udemy
Welcome to Become a FullStack / MERN Stack JavaScript Developer from Scratch with React, Node JS and MongoDB. In this course you will Learn React with Node JS f
20 hours 49 minutes 20 seconds
The Complete Node.js Developer Course (3rd Edition)

The Complete Node.js Developer Course (3rd Edition)

Sources: udemy
Have you tried to learn Node before? You start a new course, and the instructor has you installing a bunch of libraries before you even know what Node is or how
35 hours 4 minutes 4 seconds
NodeJS: Beginner to Pro - APIs for Food Delivery & Ecommerce

NodeJS: Beginner to Pro - APIs for Food Delivery & Ecommerce

Sources: udemy
Node.js is probably THE most popular and modern server-side programming language you can dive into these days! Node.js developers are in high demand. Not to me
27 hours 56 minutes 16 seconds