Skip to main content

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
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

Node, SQL, & PostgreSQL - Mastering Backend Web Development

Node, SQL, & PostgreSQL - Mastering Backend Web Development

Sources: udemy
Become an in demand software engineer by taking this course on Node, SQL, PostgreSQL, and backend web development. As one of the most popular web development st
4 hours 59 minutes 41 seconds
Node with React: Fullstack Web Development

Node with React: Fullstack Web Development

Sources: udemy, Stephen Grider
Go beyond the basics of React and Redux! This course will teach you to combine the ultra-popular React, Redux, Express, and MongoDB technologies to build a fullstack web applic...
25 hours 36 minutes 19 seconds
Generative AI for NodeJs: OpenAI, LangChain - TypeScript

Generative AI for NodeJs: OpenAI, LangChain - TypeScript

Sources: udemy
It's time to add AI to your JavaScript/TypeScript application! The course "AI for NodeJs Developers with OpenAI and LangChain" is designed for those who...
7 hours 21 minutes 46 seconds
Build an e-store using Next.js, Figma, GraphQL, PayPal

Build an e-store using Next.js, Figma, GraphQL, PayPal

Sources: udemy
If you are a beginner web developer with React then this course is great match for you. This is a project based course which covers all the steps to build a ful
14 hours 53 minutes 49 seconds
Instagram Clone Coding 3.0

Instagram Clone Coding 3.0

Sources: Nomad Coders
nstagram: backend + frontend + application + server. NodeJS, Prisma, GraphQL, Hooks, React Native. You implement almost all Instagram features, including taking
20 hours 48 minutes 39 seconds