The Modern GraphQL Bootcamp (with Node.js and Apollo)

The Modern GraphQL Bootcamp (with Node.js and Apollo)

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 23.5 Hours | 10.7 GB

Learn how to build GraphQL applications using Node.js. Includes Prisma, authentication, Apollo Client, and more!

Do you want to learn GraphQL and keep your Node.js skills up-to-date and relevant?

GraphQL is quickly changing how Node.js developers write their APIs and backend applications. It offers a much-needed replacement to the traditional REST HTTP API. It’s by far the most exciting change we’ve seen to Node.js development in a long time. Goodbye Express. Hello GraphQL.

Who should learn GraphQL? Anyone building backend applications with Node.js!

In this class, you’ll learn how to use GraphQL to replace the standard Express HTTP API, as well as support features like authentication, real-time applications, and more. GraphQL can be used with any client that has internet access, whether it’s a web app, mobile app, or server-side application.

Big and small companies, from Twitter and Facebook to Yelp and Twitch, are switching from frameworks like Express to GraphQL.

I designed this class to give you the skills and real-world experience needed to build and launch your own GraphQL apps.

To kick the class off, we’ll answer a few important questions. What is GraphQL? Why is it useful? How is GraphQL going to help me build better applications with Node.js?

Next, you’ll master the fundamentals of GraphQL by building out a blogging application. You’ll learn about GraphQL schemas, data types, queries, mutations, subscriptions, and many other fantastic GraphQL features.

From there, you’ll set up advanced features like authentication, database storage, production deployment, automated test suites, and more.

Throughout the course you’ll learn how to:

  • Model your application data using schemas
  • Create queries and subscriptions allowing clients to access data in the database
  • Create mutations allowing clients to create and change data in the database
  • Query and change your data from the browser by making requests with Apollo Client
  • Work with the Prisma ORM to communicate with your database via a GraphQL API
  • Deploy your GraphQL applications to production
  • Secure your application data with an authentication system
  • Write an automated test suite for your application

Learn GraphQL by Writing Code

This course was designed to be interactive, with more than 80 challenges along the way to get you writing code and solving problems on your own. This will give you the real-world skills and experience needed to write GraphQL applications once you’re done with the class.

Everything you need comes in one easy-to-use package.

There’s no need to worry whether you’re learning the right skills to land that GraphQL job or launch that GraphQL app. I’ve mapped out everything you need to know in an interactive, easy-to-follow package designed to get you up and running in a couple of weeks.

What you’ll learn

  • Learn and master GraphQL by building real-world Node applications.
  • Use Prisma to store and access data from a production database.
  • Use Apollo Client to communicate with GraphQL from your web app.
  • Learn how to deploy and test your GraphQL applications.
  • Test your skills and gain confidence by completing more than 80 coding challenges.
  • Get access to a free 110-page PDF guide with lecture notes, code samples, and documentation links.
Table of Contents

Course Overview
1 Welcome to the Class!
2 Grab the PDF Guide
3 Why GraphQL
4 Installing Node.js and VSC

GraphQL Basics Schemas and Queries
5 Section Intro GraphQL Basics Schemas and Queries
6 Creating Custom Types
7 Operation Arguments
8 Working with Arrays Part I
9 Working with Arrays Part II
10 Relational Data Basics
11 Relational Data Arrays
12 Comment Challenge Part I
13 Comment Challenge Part II
14 Comment Challenge Part III
15 What is a Graph
16 GraphQL Queries
17 Nested GraphQL Queries
18 Setting up Babel
19 ES6 ImportExport
20 Creating Your Own GraphQL API
21 GraphQL Scalar Types
22 Live Reload for GraphQL-Yoga

GraphQL Basics Mutations
23 Section Intro GraphQL Basics Mutations
24 Updating Data with Mutations Part I
25 Updating Data with Mutations Part II
26 Creating Data with Mutations Part I
27 Creating Data with Mutations Part II
28 The Object Spread Operator with Node.js
29 The Input Type
30 Deleting Data with Mutations Part I
31 Deleting Data with Mutations Part II
32 A Pro GraphQL Project Structure Part I
33 A Pro GraphQL Project Structure Part II

GraphQL Basics Subscriptions
34 Section Intro GraphQL Basics Subscriptions
35 GraphQL Subscription Basics
36 Setting up a Comments Subscription
37 Setting up a Posts Subscription
38 Expanding the Posts Subscription for Edits and Deletions
39 Expanding the Comments Subscription for Edits and Deletions
40 Enums

Database Storage with Prisma
41 Section Intro Database Storage with Prisma
42 Integrating Prisma into a Node.js Project
43 Using Prisma Bindings
44 Mutations with Prisma Bindings
45 Using AsyncAwait with Prisma Bindings
46 Checking If Data Exists Using Prisma Bindings
47 Customizing Type Relationships
48 Modeling a Review System with Prisma Set Up
49 Modeling a Review System with Prisma Solution
50 What is Prisma
51 Prisma Mac Setup
52 Prisma Windows Setup
53 Prisma Ubuntu Setup
54 Prisma 101
55 Exploring the Prisma GraphQL API
56 Add Post type to Prisma
57 Adding Comment Type to Prisma

Authentication with GraphQL
58 Section Intro Authentication with GraphQL
59 Allowing for Generated Schemas
60 Storing Passwords
61 Creating Auth Tokens with JSON Web Tokens
62 Logging in Existing Users
63 Validating Auth Tokens
64 Locking Down Mutations (Users)
65 Locking Down Mutations (Posts and Comments)
66 Locking Down Queries Part I
67 Locking Down Queries Part II
68 Locking Down Individual Type Fields
69 Adding Prisma into GraphQL Queries
70 Fragments
71 Cleaning up Some Edge Cases
72 Locking Down Subscriptions
73 Token Expiration
74 Password Updates
75 Integrating Operation Arguments
76 Refactoring Custom Type Resolvers
77 Adding Prisma into GraphQL Mutations
78 Adding Prisma into GraphQL Update Mutations Part I
79 Adding Prisma into GraphQL Update Mutations Part II
80 Adding Prisma into GraphQL Subscriptions
81 Closing Prisma to the Outside World

Pagination and Sorting with GraphQL
82 Section Intro Pagination and Sorting with GraphQL
83 Pagination
84 Pagination Using Cursors
85 Working with createdAt and updatedAt
86 Sorting Data

Production Deployment
87 Section Intro Production Deployment
88 Creating a Prisma Service
89 Prisma Configuration and Deployment
90 Exploring the Production Prisma Instance
91 Node.js Production App Deployment Part I
92 Node.js Production App Deployment Part II
93 Node.js Production Environment Variables

Apollo Client and Testing GraphQL
94 Section Intro Apollo Client and Testing GraphQL
95 Testing Queries
96 Expecting GraphQL Operations to Fail
97 Supporting Multiple Test Suites and Authentication
98 Testing with Authentication Part I
99 Testing with Authentication Part II
100 GraphQL Variables Part I
101 GraphQL Variables Part II
102 Testing Comments
103 Testing Subscriptions
104 Test Case Ideas
105 Setting up a Test Environment
106 Installing and Exploring Jest
107 Testing and Assertions
108 Apollo Client in the Browser Part I
109 Apollo Client in the Browser Part II
110 Configuring Jest to Start the GraphQL Server
111 Testing Mutations
112 Seeding the Database with Test Data

Creating a Boilerplate Project
113 Section Intro Creating a Boilerplate Project
114 Creating a Boilerplate Project
115 Using the Boilerplate Project

Wrapping Up
116 Section Intro Wrapping Up
117 A New App Idea
118 Bonus Where Do I Go from Here