VR 电子商务
在这个选题中,你需要实现一个完整的电子商务网站。顾客可以在前端可交互地查看商品的三维模型,修改商品的属性并实时观察到模型的变化。顾客与顾客、顾客与商家之间可以通过实时聊天来商量购买和寻求帮助。
这个网站具有以下特点:
- 更加直观:可视化三维表达,可以定制。
- 更具有个性化:丰富的购买行为可以更好地表达用户的购买习惯。
- 更具交互性:
- 顾客: 共同商量购买一个商品,和其他顾客交流;及时地 从商家获得咨询,帮助立刻确定购买行为 。
- 商家: 及时对顾客咨询帮助其确定购买行为; 得到顾客的反馈信息,调整商业策略。
系统基本功能与流程
功能要求
基本功能
- 基本的电商网站功能。
- 使用无插件 Web3D 技术(推荐 three.js)构建可订制的三维产品。
- 产品部件的组成以及具有的可订制性采用 XML 相关协议描述,建议采用 XML 相关数据库或者其他 NoSQL 数据库。
- 具有产品部件上的增删、改变样式、颜色等等可个性化订制的功能。
进阶功能
- 采用语义 Web 相关技术描述产品部件特征,并且和产品相应的几何模型关联,可以方便的看到解释(比如鼠标悬浮或者右键点击某个部件)。
- 支持 2 个或者以上用户协同订制。
- 与其他用户和商家聊天。
附加说明
- 3D 建模不是课程重点。不要求建模非常逼真,可以使用下载的模型部件。
使用流程
注:本节中截图仅为示例说明,图示功能不会和要求100%契合,只可作为参考,实际功能以文字说明为准,具体界面设计和功能安排可自由发挥。
登录注册页面
- 用户能够通过用户名和密码登录和注册。注册时需要完善用户名、密码、昵称。
- 登录后进入商品列表页面。
商品列表页面
- 用户能够在列表页面查看商城中已有的商品。对于每个商品需要显示示意图和基本信息,点击进入商品详情页。
- 可选商品搜索、筛选等高级功能,该页面的其他功能和样式可以自由发挥。
商品详情页面
- 商品详情页需要显示商品的详细信息,包括产品的可交互三维模型、属性。
- 用户可以在该页面订购商品,与卖家聊天(可以在新窗口中进行,也可以提供一个聊天浮层)。
- 订制流程示例:顾客可以通过为商品增添物件、修改商品样式,以及与其他用户协同订制。
结算页面
- 确认即将购买的商品信息和自定义的属性,点击购买产生交易。
- 可选将多个商品添加到购物车一起结算。
用户后台页面
- 用户可以查看自己的历史订单等信息。
- 可选查看聊天记录等高级功能。
技术实现
建议
- 采用前后端分离架构,
- 对技术不做硬性要求,前端建议 Angular 2,后端建议Java EE 框架。
- Web 3D 展示建议 Three.js。
- 如果要实现协同,建议使用 WebSocket。
评分细则
分数组成
-
基本功能分:即完成系统基本内容与流程,满分 100 分。
-
进阶任务分:推荐选做助教列举的功能,能力较强的同学可自定义增加附加功能,最多 30 分。
-
个人工作分:根据小组分工及个人完成工作量得分。每组组员该项分数总和 30 分,根据贡献比例分摊。
个人最终得分 = 基本功能分 + 进阶任务分 + 个人工作分,值域为 [0, 160]。
评分点
功能项 | 得分项 | 最高分数 |
---|---|---|
基本流程 | 注册和登录页面 | 5 |
(40分) | 商品列表页面 | 10 |
商品展示页面 | 10 | |
商品结算页面 | 10 | |
用户后台页面 | 5 | |
商品展示 | 使用 WebGL 展示三维的商品模型 | 10 |
(30分) | 模型具备放缩、旋转、拖动等交互 | 10 |
可订制商品颜色、形状、部件等属性 | 10 | |
工程能力 | 文档 | 5 |
(30分) | 系统架构 | 10 |
代码风格 | 5 | |
项目完整度和易用性 | 10 | |
附加功能 | 采用语义 Web 相关技术描述产品部件特征 | 5 |
(30分) | 聊天功能 | 10 |
用户协同编辑 | 10 | |
将服务器部署到公有云上 | 10 | |
使用 Docker 部署服务器 | 5 | |
其他合理的附加功能 | 30 |
评分点说明
- 每一项的分数取决于该项功能的完成度。如“顾客与顾客的聊天功能”,若实现聊天功能可以获得基本分数,若实现了查看历史聊天记录、在聊天中分享商品等功能则分数依次递增。
- 项目完整度和易用性评价标准:
- A. 最低要求为必须实现并完成规定的用户功能与操作。核心功能和技术都有实现,在应用逻辑和实际操作便捷性上可以不做考虑。
- B.基本要求为实现并完成规定的用户功能和操作,并设计合理便捷的操作流程,系统各部分衔接过度自然,方便使用。
- C.进阶要求为实现并完成规定的用户功能、操作和进阶加分项,形成一套完整的可发布的应用逻辑。
- A、B、C 分别对应 0 - 3 分,4 - 6 分,7 - 10 分。
- 附加功能必须在文档中明确写出,概述该功能并简要描述实现。
- 项目设计文档需要至少包含:
- 项目组织以及其中每个文件的说明。
- 关键功能实现的细节。
- 服务器部署配置的详细介绍。
- 团队分工文档需要至少包含:
- 团队成员、分工、具体完成工作,列出每个人的贡献比例。
- 其他你们想说明的问题。
提交
-
提交物包含以下两项:
- 源代码:推荐使用 Git 进行协作,提交到 GitHub 等 Git 托管平台上。
- 文档:推荐使用 Markdown 编写项目文档,与源代码一同提交到 Git 托管平台上。
- 源代码与文档需要压缩打包提交到 FTP 上,文件名中请包含小队所有成员的姓名与学号。
- 友情提示:请尽早开工,本学期只有一个 Project,临时赶工很有可能完不成。