Building Web Apps With Amplify Studio

Amplify is an AWS service that hosts and manages applications on a partially managed cloud platform. Amplify handles management of most of the underlying services needed for standard cloud based applications. This includes code processing with a heavy CI/CD influence, setting up the file stores needed for a typical single-page application (React, etc.), and persistent data stores as needed. It can also manage more advanced features like load balancing and content delivery networks when warranted.

Notebook (Oct 2022)

The raw-form notes on standing up a new application on AWS Amplify are below.

Amplify Studio

A visual builder for Amplify hosted apps.

  • Data model designer – provisions GraphQL API
  • Amplify UI library – leverages Figma to build React code
  • Can invite app management users — they do not need an AWS account

Access Control

  • Managed using Amazon Cognito User Pool.
    • User pool for the app is named ” amplify_backend_manager_APPID“.
    • Auto-created two IAM roles for Team Members
      • USERPOOLID_Full-access
      • USERPOOLID_Manage-only
  • Can invite up to 50,000 monthly users without cost.
  • Passwordless login from AWS Amplify Console managed via 4 Cognito Lambda triggers
    • amplify-login-create-auth-challenge-SHORT_CODE
    • amplify-login-custom-message-SHORT_CODE
    • amplify-login-define-auth-challenge-SHORT_CODE
    • amplify-login-verify-auth-challenge-SHORT_CODE
Team Members
  • Full access – create and manage AWS resources
  • Manage only access – can create and edit application content and users

Authentication

User login and basic identification.

  • Uses Amazon Cognito
    • Email + Password
    • Google
    • Amazon
    • Facebook
    • Apple
  • Social Login requires
    • App ID
    • App Secret
    • Redirect URI

Authorization

User access levels.

Data

Visual data models.

Deploys via GraphQL on DynamoDB (?)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.