Course Overview
  • Welcome to the Class!
  • Grab the PDF Guide
  • Why GraphQL?
  • Installing Node.js and VSC
GraphQL Basics: Schemas and Queries
  • 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
GraphQL Basics: Mutations
  • 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
GraphQL Basics: Subscriptions
  • 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
Database Storage with Prisma v1
  • 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
Authentication with GraphQL
  • 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
Pagination and Sorting with GraphQL
  • Section Intro: Pagination and Sorting with GraphQL
  • Pagination
  • Pagination Using Cursors
  • Working with createdAt and updatedAt
  • Sorting Data
Production Deployment
  • 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