Advanced Node Application Development With GraphQL Training Course

Advanced Node.js Techniques: Taking Your Skills to the Next Level

Duration

21 hours (usually 3 days including breaks)

Requirements

  • An understanding of Node
  • JavaScript programming experience

Audience

  • Web Developers

Overview

GraphQL is a data query language for APIs. GraphQL is also an execution engine for loading data from server to client. It is the much-needed alternative to the traditional REST API.

This instructor-led, live training (online or onsite) is aimed at web developers who wish to develop an advanced node application using GraphQL.

By the end of this training, participants will be able to:

  • Create mutations to enable clients to manipulate data in databases.
  • Script an automated test suite for a node application.
  • Use GraphQL schemas to define data interaction.
  • Secure node application data with an authentication system.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

What is GrahpQL?

  • The evolution of GraphQL
  • GraphiQl and GitHub API

Overview of GraphQL Basics

  • Queries
  • Schemas
  • Mutations
  • Subscriptions

The Fundamentals of APIs and Their Functionality

  • Scalar types
  • Web Architecture Patterns: the composite pattern, proxy pattern, and facade pattern

Preparing the Development Environment

  • Installing and configuring GraphQL
  • Installing and configuring Node.Js
  • Installing and configuring Apollo
  • Installing and configuring Prisma

Schemas and Queries

  • Setting up a GraphQL API
  • Creating a custom object type
  • Using a GraphQL schema
  • Passing data through operation arguments
  • Working with array and array elements
  • Exploring relational data

Mutations and Subscriptions

  • Creating, deleting, and updating data with mutations
  • Using the object spread operator
  • Refactoring node architecture
  • Creating a subscription
  • Expanding the subscription for edits and deletions

Authentication in GraphQL with Prisma

  • Setting up a custom type resolver
  • Passing queries through Prisma
  • Passing arguments through Prisma
  • Passing mutations through Prisma
  • Passing subscriptions through Prisma
  • Adding password support
  • Verifying tokens

Apollo Client and Testing

  • Setting up a test environment
  • Seeding with test data
  • Testing queries and mutations
  • Testing authentication

Summary and Conclusion

Duration

21 hours (usually 3 days including breaks)

Requirements

  • An understanding of Node
  • JavaScript programming experience

Audience

  • Web Developers

Overview

GraphQL is a data query language for APIs. GraphQL is also an execution engine for loading data from server to client. It is the much-needed alternative to the traditional REST API.

This instructor-led, live training (online or onsite) is aimed at web developers who wish to develop an advanced node application using GraphQL.

By the end of this training, participants will be able to:

  • Create mutations to enable clients to manipulate data in databases.
  • Script an automated test suite for a node application.
  • Use GraphQL schemas to define data interaction.
  • Secure node application data with an authentication system.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

What is GrahpQL?

  • The evolution of GraphQL
  • GraphiQl and GitHub API

Overview of GraphQL Basics

  • Queries
  • Schemas
  • Mutations
  • Subscriptions

The Fundamentals of APIs and Their Functionality

  • Scalar types
  • Web Architecture Patterns: the composite pattern, proxy pattern, and facade pattern

Preparing the Development Environment

  • Installing and configuring GraphQL
  • Installing and configuring Node.Js
  • Installing and configuring Apollo
  • Installing and configuring Prisma

Schemas and Queries

  • Setting up a GraphQL API
  • Creating a custom object type
  • Using a GraphQL schema
  • Passing data through operation arguments
  • Working with array and array elements
  • Exploring relational data

Mutations and Subscriptions

  • Creating, deleting, and updating data with mutations
  • Using the object spread operator
  • Refactoring node architecture
  • Creating a subscription
  • Expanding the subscription for edits and deletions

Authentication in GraphQL with Prisma

  • Setting up a custom type resolver
  • Passing queries through Prisma
  • Passing arguments through Prisma
  • Passing mutations through Prisma
  • Passing subscriptions through Prisma
  • Adding password support
  • Verifying tokens

Apollo Client and Testing

  • Setting up a test environment
  • Seeding with test data
  • Testing queries and mutations
  • Testing authentication

Summary and Conclusion

React, Relay, and GraphQL Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • An understanding of APIs

Audience

  • Developers

Overview

In the years following 2010, the switch from native web platforms to their mobile counterpart required a more efficient data request system. At the time, companies relied on RESTful services that proved to be faulty due to their inability to adapt to convoluted requests in React applications, resulting in slow response times. In order to overcome this obstacle, Facebook engineers created services known as GraphQL and Relay. GraphQL simplifies the client to API relationship by automating requests while the JavaScript framework, Relay, manages data in React applications. Both Relay and GraphQL are used to optimize a React application’s UI.

This instructor-led, live training (online or onsite) is aimed at developers who wish to use GraphQL and Relay to manage data in React applications.

By the end of this training, participants will be able to:

  • Set up the necessary development environment to start data control for React applications.
  • Deliver instant UI-response interactions.
  • Aggregate data from multiple libraries into one convenient API.
  • Pre-fetch using GraphQL and Relay.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Overview of the Web Development Cycle

  • Version control, coding, building, testing, and deploying
  • Automating the process

The Fundamentals of APIs and Their Functionality

  • Web Architecture Patterns: the composite pattern, proxy pattern, and facade pattern
  • Operations: queries and mutations

Preparing the Development Environment

  • Preparing the code repository (GitHub, GitLab, etc.)
  • Installing NPM
  • Preparing file dependencies

Developing an Application

  • Creating a data-store that loads data folder content
  • Creating a server file and configuring GraphQL
  • Run React with Relay as the JavaScript framework
  • Automating work with pre-fetching
  • Using differed queries, define properties to find critical data
  • Code-splitting data using Relay

Testing the Application

  • Finding code errors with JSHint
  • Testing optimization with web.dev

Securing the Application

  • Authenticating users

Troubleshooting

Summary and Conclusion

GraphQL Basics Training Course

Duration

7 hours (usually 1 day including breaks)

Requirements

  • Understanding of programming and databases
  • Understanding of Javascript basics

Audience

  • Web developers
  • Administrators

Overview

GraphQL, developed by Facebook in 2012 and then open-sourced in 2015, is a data query language for better data fetching performance with mobile devices. It provides an alternative to REST and gives clients the power to ask for exactly what they need, nothing more and nothing less, from databases on a server.

In this instructor-led, live training, participants will learn the fundamentals of GraphQL as they step through the creation of a simple API with GraphQL.

By the end of this training, participants will be able to:

  • Understand what GraphQL is and what distinguishes it from REST.
  • Understand top-level GraphQL terms.
  • Set up a GraphQL coding environment.
  • Build and improve a GraphQL API.

Format of the Course

  • Part lecture, part discussion, exercises and heavy hands-on practice.

Note

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

  • What is GraphQL?
  • History
  • GraphQL vs. REST
  • Main features and benefits for clients
  • Security features

Understanding Core Concepts

  • Schema Definition Language (SDL)
  • GraphQL terms (types, fields, schema, mutations, promises, subscriptions)

Understanding the Mechanism

  • Architecture (clients, server)
  • Tools (GraphiQL, Launchpad)

Setting up the Environment

  • Building a GraphQL server
  • Building GraphQL features in a GraphQL server
  • Creating and defining a GraphQL application schema
  • Executing your first GraphQL query

Working with GraphQL

  • Fetching data with queries from multiple databases
  • Working with mutations to add, update, and delete items
  • Keeping the client in sync with mutations
  • Using GraphQL subscriptions to build a newsfeed
  • Advanced queries with arguments, aliases, and fragments

Troubleshooting

Summary and Conclusion

Building Interactive Applications with React, Redux and GraphQL Training Course

Duration

28 hours (usually 4 days including breaks)

Requirements

  • Web application development experience
  • Javascript programming experience
  • Familiarity with React

Audience

  • Developers

Overview

React is a Javascript library for building fast and smooth interactive web pages. Together with the Flux architecture and the GraphQL query language, extremely powerful and efficient web applications can be built.

In this instructor-led, live training, participants will learn how to build React applications using Flux and GraphQL. The course covers installation, setup, integration, testing, deployment and best practices as it walks participants through the creation of a series of sample applications that demonstrate how to add additional levels of complexity and “coolness” to an application using the most advanced toolkits and techniques.

Developing applications with React requires a different kind of thinking, compared to what some developers are accustomed to, especially when coming from the mindset of other MVC frameworks such as AngularJS and Bootstrap.

This training covers the fundamentals behind of the technologies used each step of the way so that participants are not only able to build a functional application, but also understand why a particular approach is used. This lays the groundwork for thinking independently and creatively about the design and the desired results for building their own applications in the future.

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

Introduction

  • React vs Angular and other Frameworks

Understanding React

  • JSX, Components and Props, the Component Life Cycle, etc.
  • Managing application state vs data state

Writing React Applications with ES6

  • Syntax and ES6+ features to watch out for

Setting up the Development Environment

Overview of Node.js

Installing and Configuring Node.js

Overview of Webpack and Babel

  • Understanding “transformation” (translating JSX into JavaScript)

Installing and Configuring Webpack

Installing and Configuring Babel

Installing React and ReactDOM

Writing Your First React Application

Configuring WebPack to Watch for Changes to Source Files

Configuring npm as a Tool Runner

Extending the React Application with New Components

Implement the Flux and Redux Architecture into a React Application

Understanding Flux and Redux

  • Stateless Components, Actions, Reducers, Dispatchers, Middleware, Containers, etc.

Building Multiple Views into the React Application

Installing and Configuring Redux

Creating a Simple To-do List with Flux/Redux (with mock server API)

Integrating a Backend with your React Application: GraphQL and Apollo

Overview of GraphQL

  • Data Types, Schemas, Graph Structure, and Integration with React
  • Limitations of Restful Routing
  • GraphQL vs SQL

Writing a GraphQL Query

Authenticating Users

Integrating React Router with GraphQL

Building a Simple Blog with React and GraphQL

Testing your React Application

Processing React Applications with npm Command-line Scripts

Troubleshooting

Structuring the App Repository

Best Practices for Writing React Code

Deploying Your React Application

A Word on Mobile Applications with React Native

Summary and Conclusion