Book Image

Building Vue.js Applications with GraphQL

By : Heitor Ramon Ribeiro
Book Image

Building Vue.js Applications with GraphQL

By: Heitor Ramon Ribeiro

Overview of this book

Since its release by Facebook in 2012, GraphQL has taken the internet by storm. Huge companies such as Airbnb and Audi have started to adopt it, while small to medium-sized companies are now recognizing the potential of this query-based API. GraphQL may seem strange at first, but as you start to read about and experience more of it, you won’t want to use REST APIs anymore. With the recipes in this book, you will learn how to build a complete real-time chat app from scratch. Starting by creating an AWS Amplify environment, you will delve into developing your first GraphQL Schema. You will then learn how to add the AppSync GraphQL client and create your first GraphQL mutation. The book also helps you to discover the simplicity and data fetching capabilities of GraphQL that make it easy for front-end developers to communicate with the server. You will later understand how to use Quasar Framework to create application components and layouts. Finally, you will find out how to create Vuex modules in your application to manage the app state, fetch data using the GraphQL client, and deploy your application to the web. By the end of this book, you’ll be well versed in proof-of-concept full-stack applications that explore the power of GraphQL with AWS Amplify, and you'll be able to use Quasar Framework to create your Vue applications.
Table of Contents (9 chapters)

Creating the application layouts

In our application, we will use a structure for vue-router that has a parent route, based on a layout component, and the final route, which is the page that we are trying to access.

This model improves the development of our application, as we can create responsibilities divided into parents and children on vue-router.

In this recipe, we will learn how to create custom layouts that will wrap our pages in the vue-router parent-child structure.

Getting ready

The prerequisites for this recipe are as follows:

  • The last recipe project
  • Node.js 12+

The Node.js global objects that are required are as follows:

  • @aws-amplify/cli
  • @quasar/cli

To start our application custom layouts, we will continue with the project that was created in the Creating custom inputs for the application recipe.

How to do it...

With our components ready, we can start the creation of the layouts that will be used for the user to sign in or sign up to the chat application or edit their...