Skip to main content

Introduction

Fullstack GraphQL

In this workshop, we’ll introduce you to GraphQL and the major concepts behind it. We’ll look at how to build a GraphQL server with ASP.NET Core 8 and Hot Chocolate. You’ll learn how to query GraphQL and what tools are out there that can help you explore and manage large schemas. Further, we’ll dive into React and explore how to efficiently build fast and fluent web interfaces using the JavaScript client Relay.

Technologies covered: .NET 8, ASP.NET Core 8, TypeScript, React, GraphQL, Hot Chocolate, Relay


Day 1

09:00 Hello, Tech Check

09:15 Getting Started with GraphQL

  • Introduction
  • What Is GraphQL?
  • Why Use GraphQL?
  • The GraphQL type system explained.
  • GraphQL operation syntax.
  • Your first GraphQL server.

10:00 BREAK (5 min)

10:05 Building a Database Driven Application

  • How to build APIs on top of EF Core.
  • Paging, Filtering, Sorting and Projections
  • Field Middleware

11:00 BREAK (5 min)

11:05 Building APIs with Simple Layering

  • Schema building approaches.
  • A better approach towards building APIs.
  • Paging and Filtering in layered architectures.
  • DataLoader

12:00 BREAK (60 min)

13:00 GraphQL Query Patterns and Best Practices

  • Exploration of the GraphQL enterprise patterns for building evolvable schemas.
  • The GraphQL entity pattern.
  • The GraphQL connection pattern

14:00 BREAK (5 min)

14:05 Getting Started with Relay.js

  • Introduction to Relay.js
  • Executing Queries
  • Using Fragments & Arguments

15:00 BREAK (5 min)

15:05 Advanced Fetching Patterns

  • Transitions
  • Refetching
  • Pagination

16:00 BREAK (5 min)

16:05 Understanding Relay

  • Relay Store
  • Prefetching Data
  • Relay Internals

17:00 FINISH

Day 2

09:00 GraphQL Mutations Patterns and Best Practices

  • Introduction to GraphQL mutations.
  • The GraphQL Mutation pattern.
  • Error Patterns in GraphQL mutations

10:00 BREAK (5 min)

10:05 Mutations In Relay

  • Mutate data with Relay
  • Errors in Mutations
  • Optimistic Updates

11:00 BREAK (5 min)

11:05 GraphQL Schema Evolution

  • Client Registry
  • Schema Registry
  • Open Telemetry

12:00 BREAK (60 min)

13:00 Introduction to Distributed GraphQL

14:00 BREAK (5 min)

14:05 Authentication / Authorization

15:00 BREAK (5 min)

15:05 CQRS, DDD and GraphQL, the perfect fit?

16:00 BREAK (5 min)

16:05 GraphQL Subscriptions Patterns and Best Practices

17:00 Q&A

17:30

Important Notice

caution

Code snippets and materials are intended for learning purposes and might contain deliberate omissions. In case of doubt do not hesitate to make questions and check the documentation for further information.