Book Image

Jumpstart Jamstack Development

By : Christopher Pecoraro, Vincenzo Gambino
Book Image

Jumpstart Jamstack Development

By: Christopher Pecoraro, Vincenzo Gambino

Overview of this book

Jamstack (JavaScript, API, and Markup) enables web developers to create and publish modern and maintainable websites and web apps focused on speed, security, and accessibility by using tools such as Gatsby, Sanity, and Netlify. Developers working with Jamstack will be able to put their knowledge to good use with this practical guide to static site generation and content management. This Jamstack book takes a hands-on approach to implementation and related methodologies that will have you up and running with modern web development in no time. Complete with step-by-step explanations of essential concepts, practical examples, and self-assessment questions, you'll begin by building an event and venue schema structure, and then expand the functionality, exploring all that the Jamstack has to offer. You’ll learn how an example Jamstack is built, build structured content using Sanity to create a schema, use GraphQL to expose the content, and employ Gatsby to build an event website using page and template components and Tailwind CSS Framework. Lastly, you’ll deploy the website to both, a Netlify server and the Microsoft Static Web Apps Service, and interact with it using Amazon Alexa. By the end of this book, you'll have gained the knowledge and skills you need to install, configure, build, extend, and deploy a simple events website using Jamstack.
Table of Contents (17 chapters)

Why GROQ?

The datastore is the most important part of what defines Sanity. Sanity is built for structured content, which is richer than simple two-dimensional tables. Likewise, GROQ is meant to be more powerful and easier to use than traditional SQL, used to query a database. GROQ stands for Graph Oriented Query language, so, as the name suggests, it is a query language used to query graphs, which are able to represent more complex data structures.

GROQ has four main features:

  • Expressive filtering: This allows us to build the query using a speakable syntax. If we are looking for a venue within our venues named Will's Pub, then we will simply use the following expression, which equates to where the type is venue and the (venue) name is Will's Pub:
    _type== "venue" && name=="Will's Pub"
  • Joins: GROQ can join together several documents, combining the result together.
  • Shaping: You can decide which content fields to include or also...