Skip to content

Latest commit

 

History

History
111 lines (79 loc) · 4.98 KB

project_social.md

File metadata and controls

111 lines (79 loc) · 4.98 KB

移动社交应用

在这个选题中,你需要模仿微信,使用 Web 技术实现一个移动社交应用。

这个网站具有以下特点:

  • 分享此时、此地个人活动以及心情:
    • 刷存在感,同时获知其他好友的当前状态;
    • 可以有朋友地图,看到选择的朋友在干啥;
    • 参考他人的活动心得,表达心情,释放情感,增强联系。
  • 可以认为是极简版“微信”:
    • 重点是好友和朋友圈功能,也可以设置多个朋友圈;
    • 可以单发好友或者群发朋友圈,但是只发:此地、活动、心情;可以是文字或者图片。好友可以回复沟通。
  • 可以根据大量的用户数据记录进行一定分析。

系统基本功能与流程

具体界面设计和功能安排可自由发挥直接抄微信就行了。

登录注册页面

  • 用户能够通过用户名和密码登录和注册。注册时需要完善用户名、密码、昵称并选择头像(模仿微信登录注册页面)。

应用主页

  • 包含以下三个 Tab (模仿微信主页)。

好友 Tab

  • 好友列表,按字母排序。

动态 Tab

  • 查看好友发布的动态。

  • 支持发布图片或文字动态,动态需要支持选地点、选心情和输入内容。

  • 支持好友评论。

用户 Tab

  • 用户可以查看并修改自己的基本信息。

技术实现

建议

  • 采用前后端分离架构。
  • 建议使用 ionic 框架开发移动端 Web 应用,也可选择使用 React Native 开发原生应用(难度更大)。

评分细则

分数组成

  • 基本功能分:即完成系统基本内容与流程,满分 100 分。

  • 进阶任务分:推荐选做助教列举的功能,能力较强的同学可自定义增加附加功能,最多 30 分。

  • 个人工作分:根据小组分工及个人完成工作量得分。每组组员该项分数总和 30 分,根据贡献比例分摊。

个人最终得分 = 基本功能分 + 进阶任务分 + 个人工作分,值域为 [0, 160]。

评分点

功能项 得分项 最高分数
基本流程 注册和登录页面 5
(30分) 好友 Tab 10
动态 Tab 10
用户 Tab 5
动态 能够查看好友发送的动态 5
(40分) 支持发送文字动态 5
      支持发送图片动态                 5  
      支持选择地点                 5  
支持分组发送 10
      支持好友评论                 10  
工程能力 文档 5
(30分) 系统架构 10
代码风格 5
项目完整度和易用性 10
附加功能 支持更多种类的消息和动态类型(位置、语音等) 10
(30分) 支持为好友添加标签,按已有的标签分组发布动态 5
简单的人工智能助手,自动回复消息 10
将服务器部署到公有云上 10
使用 Docker 部署服务器 5
其他合理的附加功能 30

评分点说明

  1. 每一项的分数取决于该项功能的完成度。完成度和可用性越好,分数越高。
  2. 项目完整度和易用性评价标准:
    • A. 最低要求为必须实现并完成规定的用户功能与操作。核心功能和技术都有实现,在应用逻辑和实际操作便捷性上可以不做考虑。
    • B.基本要求为实现并完成规定的用户功能和操作,并设计合理便捷的操作流程,系统各部分衔接过度自然,方便使用。
    • C.进阶要求为实现并完成规定的用户功能、操作和进阶加分项,形成一套完整的可发布的应用逻辑。
    • A、B、C 分别对应 0 - 3 分,4 - 6 分,7 - 10 分。
  3. 附加功能必须在文档中明确写出,概述该功能并简要描述实现。
  4. 项目设计文档需要至少包含:
    • 项目组织以及其中每个文件的说明。
    • 关键功能实现的细节。
    • 服务器部署配置的详细介绍。
  5. 团队分工文档需要至少包含:
    • 团队成员、分工、具体完成工作,列出每个人的贡献比例
    • 其他你们想说明的问题。

提交

  1. 提交物包含以下两项:
    • 源代码:推荐使用 Git 进行协作,提交到 GitHub 等 Git 托管平台上。
    • 文档:推荐使用 Markdown 编写项目文档,与源代码一同提交到 Git 托管平台上。
  2. 源代码与文档需要压缩打包提交到 FTP 上,文件名中请包含小队所有成员的姓名与学号。
  3. 友情提示:请尽早开工,本学期只有一个 Project,临时赶工很有可能完不成。