Skip to main content

Build, Ship and Extend GraphQL APIs from Scratch

Christian Nwamba
On the web
www.codebeast.dev
On Twitter
@codebeast
Tickets
Get a ticket

Workshop includes:
  • Working examples to take away
  • Interactive sessions
  • Workshop recordings
  • Dedicated Q&A time
  • Smashing Certificate

Workshop, 5×2.5h + Q&A • Tue & Wed, Jan 5–19
09:00 – 11:30 AM PDT (Pacific Daylight Time)

GraphQL seems shiny on the frontend, and front-end developers love it because of the flexibility to pick and choose the right size of data for our UI. However, the developer experience of trying to build a backend that supports a GraphQL API can get ugly.

During this workshop, you will learn how to build a GraphQL API in just a few minutes with an amazing developer experience using Hasura. You will also learn how to wire it up to a front-end app.


This workshop is taught by a front-end developer with a front-end perspective who has successfully built and shipped GraphQL APIs and understands the pain-points that front-end developers are experiencing.

What Will Attendees Learn In This Workshop?

  • Understand the important concepts of GraphQL and how it compares with REST.
  • Learn how GraphQL spec is all about types and contract and why this is very important.
  • Consume existing GraphQL APIs for a front-end project.
  • Build a GraphQL server to see how types and resolvers play together in practice.
  • Learn the one shortcut you need to write less code when building GraphQL APIs while still enjoying all of GraphQL features.
  • Learn how to protect your GraphQL APIs with OAuth 2 and Open ID protocols.
  • Serverless! Build Serverless APIs that you can use to extend your GraphQL API.
  • Best practices for shipping and scaling GraphQL APIs in production.

Who Is This For?

If you want to start learning GraphQL or if you have already worked with GraphQL and want to get a deeper understanding of it, this workshop is for you. To follow along, you should have a basic understanding of HTML, CSS, and JS.

Register for this workshop →

About Christian Nwamba

Christian is a Software Engineer and loves making things that might possibly work using JavaScript. He currently works as a Senior Cloud Developer Advocate at Microsoft, and before that at Cloudinary. Before becoming an advocate, he worked as a consultant, Software Developer, Technical Writer and Community Champion for startups including Scotch.io, Auth0, Pusher, Cloudinary, Progress, deepstreamHub, Logrocket, Dialog Engineers, Manifold, etc.

He also loves working with developer communities to build ecosystems such as forLoop Africa, Angular Nigeria, Concatenate Conference, Me.io, Frontstack.io and a lot more.

Time & Schedule

This masterclass takes place over five days in 2-hour sessions with time for questions and discussion about your work and how to apply what you’ve learned. Our virtual doors open at 8:30, we start at 9 AM PDT.

Please mark your calendars:

  • Tue, Jan 5, 09:00 – 11:30 AM PDT
  • Wed, Jan 6, 09:00 – 11:30 AM PDT
  • Tue, Jan 12, 09:00 – 11:30 AM PDT
  • Wed, Jan 13, 09:00 – 11:30 AM PDT
  • Tue, Jan 19, 09:00 – 11:30 AM PDT

Day 1 — GraphQL On The Client

8:45 AM PDT
Virtual door opens, ice breaker, chat, networking.

9:00 AM – 11:00 AM

  • Intro, how to follow the workshop
  • Takeaways by the end of the workshop
  • What we will build
  • GraphQL Concepts
    • Why GraphQL
    • GraphQL as a Contract/Policy System
  • Queries and Mutation
  • Build a GraphQL-based Client App in React
    • Knowledge can be transferred to other frameworks

11:00 AM – 11:30 AM
Q&A with Christian on the day’s material. Networking!

Day 2 — GraphQL On The Server

8:45 AM PDT
Virtual door opens, ice breaker, chat, networking.

9:00 AM – 11:00 AM

  • GraphQL Types: Query, Mutation and Subsctiption
  • GraphQL Custom Types
  • Anatomy of a GraphQL request
    • Post request with query from client
    • Query is resolved by a resolver
    • Resolver sends back response
  • Build a GraphQL API with Apollo Server

11:00 AM – 11:30 AM
Q&A with Christian on the day’s material. Networking!

Day 3 — Zero Backend

8:45 AM PDT
Virtual door opens, ice breaker, chat, networking.

9:00 AM – 11:00 AM

  • Zero backend with Hasura
  • Setting up Hasura
  • Setting up a Postgres database
  • Hasura magic
  • Build a GraphQL API with Hasura
    • Tables and Relationships
    • Permissions

11:00 AM – 11:30 AM
Q&A with Christian on the day’s material. Networking!

Day 4 — Extending GraphQL APIs

8:45 AM PDT
Virtual door opens, ice breaker, chat, networking.

9:00 AM – 11:00 AM

  • Intro to Serverless
  • Events
  • Actions
  • Scheduled Triggers
  • Extend a GraphQL API with Serverless (hands on session)
    • Setting up Fuctions
    • Pre-processing requests with Actions
    • Post-processing requests with Events
    • Scheduling tasks

11:00 AM – 11:30 AM
Q&A with Christian on the day’s material. Networking!

Day 5 — Authentication

8:45 AM PDT
Virtual door opens, ice breaker, chat, networking.

9:00 AM – 11:00 AM

  • Why Auth in GraphQL is tricky
  • Auth Flow
  • Open ID vs Oauth 2.0
  • Auth0 to the rescue
  • Protect your GraphQL Endpoints (hands on session)
    • Admin Secrets
    • Permissions
    • Tokens

11:00 AM – 11:30 AM
Q&A with Christian on the day’s material. Networking!

Day 5 — Production GraphQL Consideratons

8:45 AM PDT
Virtual door opens, ice breaker, chat, networking.

9:00 AM – 11:00 AM

  • Remote Schemas and Joins
  • Query Performance
  • Security Considerations
  • Microservices and GraphQL (hands on session)

11:00 AM – 11:30 AM
Q&A with Christian on the day’s material. Networking!

Register for this workshop →