Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

egghead.io

Building a Serverless JAMStack Todo app with Netlify, Gatsby, GraphQL, and FaunaDB

via egghead.io

Overview

This application serves as an introduction to building products with a JAMStack and Serverless approach. We cover everything from the beginning:
starting with the Gatsby client
handling authentication with Netlify Identity
Shipping a GraphQL server on Netlify Functions
Building in access control with a serverless capable database
It uses tools that remove as many of the barriers as possible while also allowing upgrading in the future. Netlify Functions can grow into AWS Lambda, Netlify Identity can grow into Auth0 or Cognito, and FaunaDB can grow into DynamoDB.

Syllabus

  • Initializing a new git repo with Github's hub CLI
  • Initialize a new Gatsby project with a gitignore in yarn workspaces
  • Setting up continuous deployment for a Gatsby site in yarn workspaces using Netlify
  • Taking advantage of theme-ui to build a landing page on a Gatsby project without plugins
  • Implementing Authentication with Netlify Identity, React hooks, and Gatsby
  • Using Netlify Identity to control access to a Gatsby client-side dashboard route
  • Fixing the Netlify Identity Widget when it prevents clicks after login
  • Using theme-ui and React useReducer to implement a todo application
  • Deploying a GraphQL API on Netlify serverless functions with apollo-server-lambda
  • Implementing the types and resolvers for a serverless GraphQL Todo API
  • Connecting a Todo app to a serverless GraphQL API using Apollo Client and solving CORS
  • Using Netlify Identity to authenticate a user in a GraphQL API using apollo links
  • Backing a Serverless GraphQL API on Netlify with FaunaDB for data storage

Taught by

Chris Biscardi

Reviews

4.2 rating at egghead.io based on 10 ratings

Start your review of Building a Serverless JAMStack Todo app with Netlify, Gatsby, GraphQL, and FaunaDB

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.