# 期末大作业指南 ## 1、总体要求 #### 基于公有云的IaaS和PaaS服务,开发一个SaaS应用。你可以使用UCloud,也可以自己购买阿里云,Google Cloud,AWS等。SaaS应用可以是Web,小程序或者App。 #### `**************注意节省资源消耗,必要时务必保存镜像并删除资源,下次从镜像重建******************` ## `**************尽早开始,充分调研,发挥想象***************` ## 2、组队要求 #### 1~3人一组,自由组队。组员越多,完成质量要求越高。 ## 3、提交内容 #### 3.1、项目开题报告,不超过500字,必须包含小组成员信息、项目简介、代码来源(或原创)、预计使用平台和云资源、预期效果。命名为`学号-云计算开题.pdf`,上传到 http://113.31.104.68:3389/index.htm。 #### 3.2、项目源代码上传到水杉码园,并编写详细README,说明代码部署和运行方式、SaaS应用效果截图。 #### 3.3、演示ppt,演示内容包括SaaS应用前后端实现细节、原创和二次开发情况(如有)、云上实际部署情况,SaaS应用功能演示,项目的水杉码园URL。ppt转成pdf,命名为`学号-云计算演示.pdf`,上传到 http://113.31.104.68:3389/index.htm。 #### `**************如果有多名组员,开题报告和ppt命名时只需使用其中一名同学的学号,否则会无法上传!******************` ## 4、重要时间 #### 开题报告:`2020年12月20日` #### ppt演示和demo:`2020年1月12日`、`2020年1月15日`课上 #### 演示ppt上传:`2021年1月15日` #### 码园上传:`2021年1月17日` ## 5、示例SaaS应用:水杉校场 #### 水杉校场是部署在UCloud平台上的在线判题SaaS系统,整个系统由三个容器构成,分别是前后端容器、判题沙盒和模型容器,如下图所示。 #### 其中前后端分别使用了Vue.js和Django框架,学生在前端提交代码后,后端会把代码发送给判题沙盒,判题沙盒再将判题结果返回给后端。如果点击了代码错误预测等功能,后端会把代码发送给模型容器,通过调用Flask API来运行相应的模型,并得到预测结果。 #### 详细信息可以参考:https://github.com/QingdaoU/OnlineJudge #### 部署效果:http://jf.shuishan.net.cn/ ## 6、参考项目 #### 电商平台 > https://github.com/justdjango/django-ecommerce > https://github.com/mohsinenur/E-Commerce-Website-Using-PHP #### 视频分享网站 > https://github.com/nabilfarhann/Vidhub > https://github.com/arslancb/clipbucket #### 在线IDE > https://github.com/cdr/code-server > https://github.com/judge0/ide/blob/master/README.md #### 文件共享 > https://github.com/eikek/sharry > https://github.com/wewxd/file-sharing-website #### 在线协作 > https://github.com/CollaboraOnline/online > https://github.com/presentator/presentator #### `**************优先选择多星、比较近期的、或者还在更新中的git仓库,否则你可能要自己改bug******************` :stuck_out_tongue_winking_eye: :stuck_out_tongue_winking_eye: ## 7、参考资源 #### Flask:基于Python的轻量级网页应用开发框架。https://www.tutorialspoint.com/flask/index.htm #### Django:基于Python的全栈式网页应用开发框架。https://www.tutorialspoint.com/django/index.htm #### VueJS:开发网页前端的JavaScript框架。https://www.tutorialspoint.com/vuejs/index.htm #### Node.js:基于JavaScript的服务器端环境,包括众多可选择的后端框架。https://www.tutorialspoint.com/nodejs/index.htm #### [UCloud产品文档和API](https://docs.ucloud.cn/)