Create a simple web application using AWS Amplify
The app we will be building will be a Notes app that will allow users to create, delete, and list notes. This example will give you a good idea how to build many popular types of CRUD+L (create, read, update, delete, and list) applications.
The first module explains how to navigate the AWS Amplify interface
- Hosting: Build and host a React application on the AWS Global content delivery network (CDN)
- Authentication: Add auth to your app to enable sign-in and sign-out
- Database and Storage: Add a GraphQL API, database, and storage solution
Installed the Amplify CLI and initialize the Amplify project using the CLI (Command Line Interface).
- Install and configure the Amplify CLI
- Initialize the Amplify app
- Amplify CLI – The Amplify CLI allows you to create, manage, and remove AWS services directly from your terminal.
Authenticated a user with the Amplify CLI and libraries, leveraging Amazon Cognito, a managed user identity service. Learned how to use the Amplify UI component library to scaffold out an entire user authentication flow, allowing users to sign up, sign in, and reset their password.
Added an API to the "notes app" using the Amplify CLI and libraries. The API we created is a GraphQL API that leverages AWS AppSync (a managed GraphQL service) which is backed by Amazon DynamoDB (a NoSQL database).
- Create and deploy a GraphQL API
- Write front-end code to interact with the API
Used the Amplify CLI and libraries to create a storage service leveraging Amazon S3. Updated the GraphQL schema to associate an image with each note. Finally, updated the React app to enable image uploading, fetching, and rendering.
- Storage service: Storing and querying for files like images and videos is a common requirement for most applications.