chapter one

1 What’s The GRANDstack?

 

This chapter covers:

  • Overview of the GRANDstack
  • A review of each technology in the stack (GraphQL, React, Apollo, Neo4j Database) and how each piece fits together in the context of a full-stack application
  • A look at the full-stack application we will build throughout the remainder of the book

In this chapter we take a look at the technologies we will use throughout the book, specifically:

  • 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

Together these technologies make up the GRANDstack, a full-stack framework for building applications using GraphQL.

Figure 1.1. The components of GRANDstack: GraphQL, React, Apollo, Neo4j Database
grandstack arch without code

Throughout the course of this book we will use GRANDstack to build a simple business review application, working through each technology component as we implement it in the context of our application. In the last section of this chapter we review the basic requirements of the application we will be building up throughout the book.

1.1  GraphQL

1.1.1  GraphQL Type Definitions

1.1.2  Querying With GraphQL

1.1.3  Advantages of GraphQL

1.1.4  Disadvantages of GraphQL

1.1.5  GraphQL Tooling

1.2  React

1.2.1  React Components

1.2.2  JSX

1.2.3  React Tooling

1.3  Apollo

1.3.1  Apollo Server

1.3.2  Apollo Client

1.4  Neo4j Database

1.4.1  Property Graph Data Model

1.4.2  Cypher Query Language

1.4.3  Neo4j Tooling