/serverless-order-system

Serverless Order System using Websocket

Primary LanguageJavaScriptMIT LicenseMIT

Serverless Order System

在线体验

基于 Serverless 的实时点餐系统.

项目简介

.
├── README.md           说明文件
├── package.json        npm 配置文件
├── postgresql          postgresql 数据库组件配置
├── scripts             项目脚本文件
├── server              后端服务
├── vpc                 vpc 组件配置
├── website             前端页面
└── websocket           websocket 服务

项目使用到的云端资源:

VPC         - 私有网络
PostgreSQL  - Serverless PostgreSQL 数据库
COS         - 对象存储
SCF         - 云函数
API GW      - API 网关

使用

克隆项目:

$ sls init order-system

部署

部署需要先配置腾讯云鉴权信息,复制 .env.example.env,然后配置正确的腾讯云密钥的 TENCENT_SECRET_IDTENCENT_SECRET_KEY

项目下的子项目之间存在依赖关系:

vpc <- postgresql <- websocket <- server <- website

因此你会发现在 package.json 中存在各个子项目部署的命令,比如:

$ npm run deploy:website

当然你可以不用考虑这些,也可以直接一键部署所有,只需要执行:

$ npm run depoy

本地开发

第一次部署完成后,如果想要本地开发,可以将 website 目录中的 /env.example.js 复制为 env.js,然后将部署成功地 server 的 url 配置为 apiUrl,然后将 websocket 的 url 配置为 wsUrl。如下:

window.env = {};

window.env.wsUrl = 'wss://service-xxxx-xxx.bj.apigw.tencentcs.com';
window.env.apiUrl = 'https://service-xxx-xxx.bj.apigw.tencentcs.com/release/';

然后启动前端页面:

$ npm run dev

在浏览器中访问 http://127.0.0.1:8080 如下:

Website

注意 ⚠️⚠️⚠️

前端静态托管的配置 website/serverless.yml 中,配置了 hosts 为 CDN 加速域名相关配置,如果不需要 CDN 可以直接将其中的 hosts 配置删除。

License

MIT License

Copyright (c) 2020 Yuga Sun