Full Stack Serverless

Book Description

With a new generation of services and frameworks, frontend and mobile developers can use their existing skill set to build full stack applications by leveraging the cloud. Developers can build robust applications with production-ready features such as authentication, APIs, data layers, machine learning, chatbots, and AR scenes more easily than ever by taking advantage of these new serverless and cloud technologies. This practical guide explains how.

Nader Dabit, developer advocate at Amazon Web Services, shows developers how to build full stack applications using React, AWS, GraphQL, and the Amplify Framework. You’ll learn how to create and incorporate services into your client applications while exploring general best practices, deployment strategies, continuous integration and delivery, and rich media management along the way.

  • Learn how to build applications that solve real problems
  • Understand what is (and isn’t) possible when using these technologies
  • Examine how authentication works—and learn the difference between authentication and authorization
  • Discover how serverless functions work and why they’re important
  • Use GraphQL in your application—and learn why it’s important
  • Learn how to build full stack applications on AWS

Table of Contents

  1. 1. Full Stack Development in the Era of Serverless Computing
    1. Modern Serverless Philosophy
      1. Characteristics of a Serverless Application.
      2. Benefits of a Serverless Architecture
      3. Different implementations of Serverless
    2. Introduction to AWS
      1. About AWS
      2. Full Stack Serverless on AWS
      3. Amplify CLI
    3. Introduction to the AWS Amplify CLI
      1. Installing and configuring the CLI
      2. Initializing your first Amplify Project
      3. Creating and deploying your first service
      4. Deleting the resources
    4. Summary
  2. 2. Getting Started with AWS Amplify
    1. Creating and deploying a serverless function
      1. Creating the React application & installing the dependencies
      2. Creating a new serverless function with the Amplify CLI
      3. Walking through the code
      4. Creating the coins route
      5. Invoking the function locally
    2. Adding the API
      1. Creating a new API
      2. Deploying the API and the Lambda function
    3. Interacting with the new API
      1. Configuring a client app to work with Amplify
      2. The Amplify client API category
      3. Calling the API and rendering the data in React
    4. Updating the function to call another API
      1. Installing Axios
      2. Updating the function
      3. Updating the client app
    5. Summary
  3. 3. Creating Your First App
    1. Introduction to GraphQL
      1. What is GraphQL
      2. What Makes up a GraphQL API
      3. GraphQL Operations
    2. Creating the GraphQL API
    3. Viewing and Interacting with the GraphQL API
    4. Building the React Application
      1. Listing Notes (GraphQL query)
      2. Creating Notes (GraphQL mutation)
      3. Deleting Notes (GraphQL mutation)
      4. Updating Notes (GraphQL mutation)
      5. Real-time Data (GraphQL subscriptions)
    5. Summary
  4. 4. Introduction to Authentication
    1. Introduction to Amazon Cognito
      1. How Amazon Cognito Works
      2. Amazon Cognito Integration with AWS Amplify
    2. Creating the React App and Adding Amplify
      1. Client authentication overview
    3. Building the app
      1. Creating the file and folder structure
      2. Creating the first component
      3. Public component
      4. Nav component
      5. Protected component
      6. Router component
      7. Profile component
      8. Configuring the app
      9. Testing the app
    4. Summary
  5. 5. Custom Authentication Strategies
    1. Creating the protectedRoute hook
    2. Creating the Form
      1. SignIn component
      2. SignUp component
      3. ConfirmSignUp component
      4. ForgotPassword component
      5. ForgotPasswordSubmit component
      6. Completing Form.js
      7. updateForm helper function
      8. renderForm function
      9. Form type toggles
      10. Updating the Profile component
      11. Testing the app
    3. Summary
  6. 6. Serverless Functions in Depth Part 1
    1. Event sources and data structure
      1. API Gateway Event
      2. Amazon S3 Event
      3. Amazon Cognito Event
    2. Creating the base project
    3. Adding a user to a group after signing up - post-confirmation Lambda trigger
    4. Dynamic image resizing with AWS Lambda and Amazon S3
      1. Adding the custom logic for resizing the image
      2. Uploading images from the React application
    5. Summary

Product Information

  • Title: Full Stack Serverless
  • Author(s): Nader Dabit
  • Release date: November 2020
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781492059882