Who Is This Guide For?
https://serverless-stack.com/chapters/who-is-this-guide-for.html
本教程适用于全栈开发无服务端的开发者。通过前段和后端的分步指南我们希望从不同的方面构建一个无服务端的应用。
您可能是一个后端开发者,更想了解构建无服务端的前端部分;或者是一个更想了解后端的前段开发者,本教程都涵盖有这些内容。
What Does This Guide Cover?
https://serverless-stack.com/chapters/what-does-this-guide-cover.html
本教程将构建一个称为 Scratch 简单笔记应用(simple note taking app)。
Scratch Phone Scratch这里有前端和后端应用的完整代码(backend,frontend),虽然是一个简单的应用,但是我们期望达到以下需求:
- 用户注册与登录
- 创建笔记
- 每个笔记都可以上传附件
- 允许用户修改笔记和附件
- 用户可以删除自己的笔记
- 可以处理信用卡付款
- 应用能通过 HTTP 或者自定义的域名访问
- 安全的后端 API
- 提供应用响应
我们使用亚马逊云平台 AWS 构建,我们以后可能或扩展到其他平台,但是从 AWS 起步不失为一个好的选择。
技术与服务
我们将使用以下技术和服务来构建应用:
- Lambda & API Gateway for our serverless API
- DynamoDB for our database
- Cognito for user authentication and securing our APIs
- S3 for hosting our app and file uploads
- CloudFront for serving out our app
- Route 53 for our domain
- Certificate Manager for SSL
- React.js for our single page app
- React Router for routing
- Bootstrap for the UI Kit
- Stripe for processing credit card payments
- Seed for automating Serverless deployments
- Netlify for automating React deployments
- GitHub for hosting our project repos.
以上服务我们将使用免费套餐,但是超出服务套餐范围的话也可能需要收费。
好吧,虽然上面看起来让人望而生畏,但请别担心,我们将一步一步引领您进入真实、安全且功能齐全的网页应用。
准备工作
Node v8.10+
NPM v5.5+
本书结构
分为两个部分,且相互独立。第一部分为基础,第二部涵盖了一些高级主题和自动化设置方法。
Part I
基本的创建和部署。
For the backend:
- Configure your AWS account
- Create your database using DynamoDB
- Set up S3 for file uploads
- Set up Cognito User Pools to manage user accounts
- Set up Cognito Identity Pool to secure our file uploads
- Set up the Serverless Framework to work with Lambda & API Gateway
- Write the various backend APIs
For the frontend:
- Set up our project with Create React App
- Add favicons, fonts, and a UI Kit using Bootstrap
- Set up routes using React-Router
- Use AWS Cognito SDK to login and signup users
- Plugin to the backend APIs to manage our notes
- Use the AWS JS SDK to upload files
- Create an S3 bucket to upload our app
- Configure CloudFront to serve out our app
- Point our domain with Route 53 to CloudFront
- Set up SSL to serve our app over HTTPS
Part II
针对那些日常使用该应用的用户,我们使第一部分的步骤自动化。
For the backend:
- Configure DynamoDB through code
- Configure S3 through code
- Configure Cognito User Pool through code
- Configure Cognito Identity Pool through code
- Environment variables in Serverless Framework
- Working with the Stripe API
- Working with secrets in Serverless Framework
- Unit tests in Serverless
- Automating deployments using Seed
- Configuring custom domains through Seed
- Monitoring deployments through Seed
For the frontend
- Environments in Create React App
- Accepting credit card payments in React
- Automating deployments using Netlify
- Configure custom domains through Netlify
我们认为这将为您构建完整堆栈生产的无服务器应用程序奠定良好的基础。
How to Get Help?
forum
网友评论