Course Highlights
  • Learn and master GraphQL by building real-world Node applications.
  • Use Prisma v1 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.
Skills you will learn!
Curriculum

4 Topics
Welcome to the Class!
Grab the PDF Guide
Why GraphQL?
Installing Node.js and VSC

18 Topics
Section Intro: GraphQL Basics: Schemas and Queries
What is a Graph?
GraphQL Queries
Nested GraphQL Queries
Setting up Babel
ES6 Import/Export
Creating Your Own GraphQL API
GraphQL Scalar Types
Live Reload for GraphQL-Yoga
Creating Custom Types
Operation Arguments
Working with Arrays: Part I
Working with Arrays: Part II
Relational Data: Basics
Relational Data: Arrays
Comment Challenge: Part I
Comment Challenge: Part II
Comment Challenge: Part III

11 Topics
Section Intro: GraphQL Basics: Mutations
Creating Data with Mutations: Part I
Creating Data with Mutations: Part II
The Object Spread Operator with Node.js
The Input Type
Deleting Data with Mutations: Part I
Deleting Data with Mutations: Part II
A Pro GraphQL Project Structure: Part I
A Pro GraphQL Project Structure: Part II
Updating Data with Mutations: Part I
Updating Data with Mutations: Part II

7 Topics
Section Intro: GraphQL Basics: Subscriptions
GraphQL Subscription Basics
Setting up a Comments Subscription
Setting up a Posts Subscription
Expanding the Posts Subscription for Edits and Deletions
Expanding the Comments Subscription for Edits and Deletions
Enums

17 Topics
Section Intro: Database Storage with Prisma
What is Prisma?
Prisma Mac Setup
Prisma Windows Setup
Prisma Ubuntu Setup
Prisma 101
Exploring the Prisma GraphQL API
Add Post type to Prisma
Adding Comment Type to Prisma
Integrating Prisma into a Node.js Project
Using Prisma Bindings
Mutations with Prisma Bindings
Using Async/Await with Prisma Bindings
Checking If Data Exists Using Prisma Bindings
Customizing Type Relationships
Modeling a Review System with Prisma: Set Up
Modeling a Review System with Prisma: Solution

24 Topics
Section Intro: Authentication with GraphQL
Adding Prisma into GraphQL Queries
Integrating Operation Arguments
Refactoring Custom Type Resolvers
Adding Prisma into GraphQL Mutations
Adding Prisma into GraphQL Update Mutations: Part I
Adding Prisma into GraphQL Update Mutations: Part II
Adding Prisma into GraphQL Subscriptions
Closing Prisma to the Outside World
Allowing for Generated Schemas
Storing Passwords
Creating Auth Tokens with JSON Web Tokens
Logging in Existing Users
Validating Auth Tokens
Locking Down Mutations (Users)
Locking Down Mutations (Posts and Comments)
Locking Down Queries: Part I
Locking Down Queries: Part II
Locking Down Individual Type Fields
Fragments
Cleaning up Some Edge Cases
Locking Down Subscriptions
Token Expiration
Password Updates

5 Topics
Section Intro: Pagination and Sorting with GraphQL
Pagination
Pagination Using Cursors
Working with createdAt and updatedAt
Sorting Data

7 Topics
Section Intro: Production Deployment
Creating a Prisma Service
Prisma Configuration and Deployment
Exploring the Production Prisma Instance
Node.js Production App Deployment: Part I
Node.js Production App Deployment: Part II
Node.js Production Environment Variables

19 Topics
Section Intro: Apollo Client and Testing GraphQL
Setting up a Test Environment
Installing and Exploring Jest
Testing and Assertions
Apollo Client in the Browser: Part I
Apollo Client in the Browser: Part II
Configuring Jest to Start the GraphQL Server
Testing Mutations
Seeding the Database with Test Data
Testing Queries
Expecting GraphQL Operations to Fail
Supporting Multiple Test Suites and Authentication
Testing with Authentication: Part I
Testing with Authentication: Part II
GraphQL Variables: Part I
GraphQL Variables: Part II
Testing Comments
Testing Subscriptions
Test Case Ideas

3 Topics
Section Intro: Creating a Boilerplate Project
Creating a Boilerplate Project
Using the Boilerplate Project

3 Topics
Section Intro: Wrapping Up
A New App Idea
Bonus: Where Do I Go from Here?

  Write a Review

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

Go to Paid Course