vanhoangkha/cloudsecop-platform-mvp
GitHub: vanhoangkha/cloudsecop-platform-mvp
基于AWS无服务器架构的云安全运营学习管理平台,提供课程创作与学习跟踪功能。
Stars: 1 | Forks: 1
# 学习管理系统
## 1. 架构概述

- Cloud Academy -> ***lms***
- Cloud Academy -> ***lms-studio***
## 2. 克隆代码:
```
$ git clone https://git-codecommit.ap-southeast-1.amazonaws.com/v1/repos/LMS
```
之后,检出 Git 分支 ```d_unicorm_gym_master```
## 2. 下载 Amplify CLI:
按照以下指南中“安装 Amplify CLI”和“配置 Amplify CLI”部分的操作说明进行:
[Amplify 设置链接](https://docs.amplify.aws/cli/start/install/#configure-the-amplify-cli)
* **注意**:amplify configure 会要求你登录 AWS 控制台。请记住登录你自己的 isengard 账号以进入该 AWS 控制台。
* **步骤**:“Specify the AWS Region” -> 选择新加坡区域 (Singapore Region)。
## 3. 初始化 Amplify 并将本地环境连接到云端:
- 在继续之前,请先检出 Git 分支 ```d_unicorm_gym_master```。
- 打开你本地的 LMS 根目录,并首先使用 ***lms*** 进行 amplify 设置:
```
$ cd lms/lms
$ (sudo) amplify init
? Enter a name for the environment: dev
? Choose your default editor:
Using default provider awscloudformation
? Select the authentication method you want to use: AWS profile
? Please choose the profile you want to use :
$ amplify push
```
- 同样地,针对本节第 3 部分中关于 ***lms*** 的所有步骤执行操作:
打开你本地的 LMS 根目录,然后运行:
```
$ cd lms/lms-studio
$ (sudo) amplify init
...
```
- 在初始化 ```lms-studio``` 项目时,如果要通过 amplify add 导入表,请选择 ```courses-dev```。
## 4. 检查你的应用是否已上线:
打开你自己的 isengard 账号并进入 "Amplify" 服务,检查你的应用现在是否已经显示(应用名称:***lms***, ***lmsstudio***)
## 5. 从本地笔记本电脑运行前端:
###5.1. 如何运行 lms 前端:
打开你本地的 LMS 根目录,然后运行:
```
$ cd LMS/lms/
$ npm i
$ npm start
```
###5.2. 如何运行 lms-studio 前端:
打开你本地的 LMS 根目录,然后运行:
```
$ cd LMS/lms-studio/
$ npm i
$ npm start
```
## 6. 向 DynamoDB 表添加示例数据
Course 和 Lecture 表的示例数据存储在 sample-data 文件夹中。
你可以在 DynamoDB 控制台创建新项目时,使用 JSON 视图将这些数据添加到 DynamoDB 中。
## 7. 我们如何为源代码做贡献?
在你从第 1 节克隆的代码库内。基于 ```d_unicorm_gym_master``` 分支,创建一个新的特性分支,命名规范为:```f_feature_name```(例如:```f_create_course```)。
你将在该分支上进行项目的开发和测试。
之后,你可以向 mintuan 账号下的 CodeCommit Git 代码库发起 pull request。
mintuan 将审查并合并所有人的 pull request。
开发步骤:
- 使用 React JS 实现 UI。
- 实现 API 并将其与 UI 集成:
- API Gateway 和 DynamoDB 表已创建完成,用于 ```/courses/``` API 的名为 ```studioCourses``` 的 Lambda 函数也已创建。
- 如果你需要将 DynamoDB 表或 S3 存储桶从 LMS 导入到 LMS Studio 项目中,请运行 ```amplify import storage```。
- 如果你需要添加新的 API 和 Lambda 函数,请运行 ```amplify update api``` 并添加一个新路径。
- 请为 Lambda 函数名使用 ```studio``` 前缀,以避免与 LMS 项目发生冲突。例如:```studioCourses```,```studioLectures```。
- 请为你的 Lambda 函数使用 Node JS 以确保一致性,并且不要创建新的 API Gateway。
标签:Amazon Cognito, Amplify CLI, AWS, AWS Amplify, CloudFormation, CloudSecOps, DPI, DynamoDB, Git, Isengard, LMS, MITM代理, MVP, React, SaaS, Syscalls, Web应用开发, 云计算, 代码克隆, 内容管理, 在线教育, 培训系统, 学习管理系统, 安全运营, 扫描框架, 新加坡区域(ap-southeast-1), 漏洞探索, 网络安全教育, 自定义脚本, 规则引擎, 课程管理