Introduction to GraphQL


Course Number: RCT-134
Duration: 2 days (13 hours)
Format: Live, hands-on

GraphQL Training Overview

This Introduction to GraphQL training teaches attendees GraphQL basics, both backend (server-side handling of GraphQL requests) and frontend (web UI using React). For the backend, this class uses Node.js, TypeScript, and Apollo Server. For the front end, the course uses React, TypeScript, and Apollo Client.

Location and Pricing

Accelebrate offers instructor-led enterprise training for groups of 3 or more online or at your site. Most Accelebrate classes can be flexibly scheduled for your group, including delivery in half-day segments across a week or set of weeks. To receive a customized proposal and price quote for private corporate training on-site or online, please contact us.

In addition, some courses are available as live, instructor-led training from one of our partners.

Objectives

  • Master the GraphQL language and syntax
  • Understand GraphQL schemas and the GraphQL SDL (schema definition language)
  • Build backend services using GraphQL and Node.js
  • Send queries and mutations to any GraphQL service
  • Integrate GraphQL into a web-based frontend application

Prerequisites

All attendees must be familiar with

  • Modern JavaScript and/or TypeScript
  • The basics of HTTP and REST
  • Node.js and asynchronous programming
  • React

Outline

Expand All | Collapse All

Introduction
GraphQL: Query Language and a Type System
Unlike REST, GraphQL uses a Single Endpoint
The Simplest Type: Scalars
Add Comments to a Query
Types: Scalars, Objects, Lists
GraphQL Playground (Ctrl+space to show available fields; Cmd+click to GTD)
A GraphQL API Queried Using Plain HTTP POST (curl/fetch)
Schema Definition Language (SDL)
Building a GraphQL Server (typeDefs and resolvers)
Deeply Nested Field Selections
Query Arguments (e.g., task ID)
Aliases (e.g., the same field with different params)
Multiple Queries Within a single request
Argument/Parameter Defaults
Named Queries (typically use UpperCamelCase)
Mutations (e.g., createAccount)
Query Variables
Async Resolvers; Persisting Data to a Database
Custom Resolver Chains for Deep Nesting and Circular Relationships
Context, Headers, and Auth
Union Types and Inline Fragments
typename Field Implicit on all Types
GraphQL Interfaces
Building Frontend GraphQL Applications with React
  • Apollo Client
  • Tagged template literals and gql``
  • Using variables to pass dynamic input
  • Params received at `mutation()` level
  • Using React hooks: useQuery and useMutation
  • Refresh a query after a mutation
  • Mutations for authentication
  • Context in Apollo Server
  • Fragments
Conclusion

Training Materials

All GraphQL training attendees receive comprehensive courseware.

Software Requirements

  • Google Chrome and/or Firefox
  • Other modern browsers as desired
  • IDE/development environment of your choice
  • Other free software and lab files that Accelebrate would specify, including Node.js


Learn faster

Our live, instructor-led lectures are far more effective than pre-recorded classes

Satisfaction guarantee

If your team is not 100% satisfied with your training, we do what's necessary to make it right

Learn online from anywhere

Whether you are at home or in the office, we make learning interactive and engaging

Multiple Payment Options

We accept check, ACH/EFT, major credit cards, and most purchase orders



Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan