1 What is full stack GraphQL?


This chapter covers

  • Components that make up a typical full stack GraphQL application
  • Technologies used throughout the book (GraphQL, React, Apollo, and Neo4j Database) and how each piece fits together in the context of a full stack application
  • Requirements for the application we will build throughout the book

1.1 A look at full stack GraphQL

In this chapter, we take an introductory look at the technologies we will use throughout the book. Specifically, we’ll look at the following:

  • GraphQL—For building our API
  • React—For building our user interface and JavaScript client web application
  • Apollo—Tools for working with GraphQL, on both the server and client
  • Neo4j Database—The database we will use for storing and manipulating our application data

Building a full stack GraphQL application involves working with a multitier architecture, commonly known as a three-tier application, which consists of a frontend application, the API layer, and a database. In figure 1.1 we see the individual components of a full stack GraphQL application and how they interact with each other.

Figure 1.1 The components of a full stack GraphQL application: GraphQL, React, Apollo, and Neo4j Database

1.2 GraphQL

1.2.1 GraphQL type definitions

1.2.2 Querying with GraphQL

1.2.3 Advantages of GraphQL

1.2.4 Disadvantages of GraphQL

1.2.5 GraphQL tooling

1.3 React

1.3.1 React components

1.3.2 JSX

1.3.3 React tooling