Course Overview

What will you learn?

Have you heard about GraphQL? Have you always wanted to understand the basics of GraphQL? This course is for developers wishing to learn about GraphQL in a practical, hands-on manner.

During the course students will be able to acquire the necessary skills to understand and work with GraphQL's basic as well as advanced features, including but not limited to:

  • Have a basic understanding of basic scalar types

  • Create custom scalars

  • Be familiar with Resolvers, Type Definitions (Schemas)

  • Understand the importance of a data model in relation to GraphQL

  • Understand how GraphQL queries work - including parameterised queries

  • Get a working knowledge of GraphQL mutations

  • Understand how file uploads work using GraphQL

  • Learn how to serve images in a GraphQL context

  • Go hands-on and learn how authentication and authorisation works in GraphQL

  • Create 4 sample applications:

    • Implement a basic application to run GraphQL queries

    • Implement a more advanced application that uses React to work with GraphQL

    • Enhance the aforementioned application and extend it with authentication and authorisation

    • Create an application to understand how to serve/display images and upload files using purely GraphQL

This course mostly utilises the Apollo GraphQL services.

Please note that during the course several applications are created - mostly using React, however this course does not contain information on React. It does however discuss the React parts that are relevant to the context - therefore only students who are already somewhat familiar with React should purchase this course.

Course curriculum

  • 1
    Introduction
    • Introduction to GraphQL
    • Creating the application shell
  • 2
    Working with Static Data
  • 3
    GraphQL Type Relationships
    • Type Relationships in GraphQL
    • Student Challenge: Create a type relationship
    • Solution to the Student Challenge
  • 4
    GraphQL Mutations
    • Basic mutations
    • Basic mutations - continued
  • 5
    Code refactoring
    • Separating Models, Schemas and Resolvers
    • Separating Models, Schemas and Resolvers - continued
  • 6
    Adding a database for GraphQL
    • Installing MySQL and Workbench
    • Serving Data from the Database
    • Updating GraphQL Resolvers to use the Database
    • Updating GraphQL Resolvers to use the Database - continued
    • Adding CORS to GraphQL
  • 7
    GraphQL and React
    • Getting started with React and GraphQL
    • Finishing up with the React and GraphQL application
  • 8
    Authentication and Authorisation in GraphQL
  • 9
    Managing Images with GraphQL
    • Introduction to Cloudinary
    • Uploading images via GraphQL
    • Using Custom Scalars and Serving Images
  • 10
    Create an Application to Display an Image via GraphQL
    • Using Pug as a Templating System with Express and GraphQL
    • Accessing GraphQL Query Data From Pug - part 1
    • Wrapping Up the Application to Display a Profile Image
    • Wrapping Up the Application to Display a Profile Image
  • 11
    Authentication via React and GraphQL
    • Creating the shell of the application
    • User Registration via React and GraphQL
    • User Login via React and GraphQL
    • Displaying a User Profile in React Using GraphQL
    • Enhancing the User Profile
    • Creating a Logout Functionality using React and GraphQL
    • File (Image) Upload in the Backend (Node.js)
    • File (Image) Uloading using the Frontend (React, Cloudinary, GraphQL)
    • Creating the Final Profile to Display a Profile Image via React and GraphQL

Pricing options

Learning Objectives

After completing the course, you will be able to ...

  • The basics of GraphQL

  • Authentication via GraphQL

  • Image management via GraphQL

  • Create applications that use GraphQL

  • Create applications that use GraphQL and React

What's included?

  • 42 videos

  • 6 hours of content

Instructor

  • Tamas Piros

    Founder / Principal Instructor

    Tamas Piros

    Tamas is a full stack web developer turned technical instructor and curriculum developer. Tamas has more than a decade of experience working with large, prestigious organisations such as Verizon, Panasonic, BBC, Credit Suisse, Deutsche Bank, Accenture, OECD and ABN Amro to mention a few. Throughout his career, Tamas has delivered training classes all over the world to both technical (i.e. developers) and non-technical (i.e. product manager and c-level executives) audiences. He regularly conducts presentations and workshops at prestigious conferences and meetups all over the world. His unique style of teaching mixes presentations with a lot of hands-on exercises, real-life examples and use-cases.