体验版二维码(需授权)

体验二维码.jpg

前言

之前趁空闲时间无聊写的一个小项目,虽然目前无论是前端还是后端都还不是很完善,但时间闲下来的时候都会维护一下下的。所以现在这里打个小宣传,顺便存些图吧。

如果有任何方面的建议,都可以到项目链接,或者本篇评论下留言。

顺便看下有没有其它人入坑吧,如果有人写安卓客户端就不用担心上线审核的问题了


项目链接


项目介绍

关键词说明
小程序名称UT(优创)
slogan校园组队、水贴、找活动?在这里都能找到你想要的!
整体定位每个学校都可单独部署(低成本)、管理的小程序(后续会将程序前后端开源)
功能描述①核心功能:学生组队功能、BBS、校园活动发布/订阅。②功能要求学生信息必须通过审核才可使用,有效避免程序成为非法信息传播。
目标人群在校学生、老师等
应用场景、解决问题①本项目致力于打造成一个 每个学校都可单独部署的组队微信小程序,打破有心组队之人因人脉不广、消息闭塞而难以寻找队友的痛点。②除此之外还搭建了BBS,校园活动发布/订阅等功能,方便校园组织活动。

应用场景 & 解决の实际问题

一些调研数据

以下是对广州三所学校的学生所做的一些调研。

注:调研成果不属于个人,属于工作室。

(一)大学生学科竞赛需求度高

竞赛需求度.jpg

  • 根据调查数据显示绝大数的大学生认为需要专业学科竞赛,且近42%的学生
    认为学科竞赛非常需要。

(二)竞赛、活动、团队/社团/工作室信息宣传不到位、不及时

词云.jpg

  • 根据调查显示,大多数的学生获取竞赛、活动、团队/社团/工作室的信息提供老师在线通知和公众号的推送,但由于互联网信息超载,缺乏一个便捷的赛事信息集合平台,学生们容易忽略或错过通知,从而导致信息宣传的不到位、不及时。

(三)团队组建难度偏大,且更愿意通过熟人渠道寻找队友

组件团队分析.jpg

  • 通过调查显示,调查对象认为结交到合适的队友的难易程度平均值为 6.09
    (以 10 分制,分数越高表示结交到合适的队友难度更大)且他们超过一半人更愿意找自己的朋友同学或朋友渠道来招募队员。

项目解决的难题

针对以上的调研数据,该项目提供了组队(招人、申请)、BBS讨论区、校园活动发布/订阅等功能的一站式服务解决了以上痛点。能够加速学生之间团队的组建、能够统一信息的管理/推送,间接促进专业竞赛/工作室/社团等活动地高效率组织。


项目作用流程

UT作用流程 1.png


功能结构

功能结构.png

  • 注意大部分功能都需要身份通过审核才可用,目的是为了防止平台被匿名者污染。

系统架构

UT架构图.png


小程序UI & 说明

授权

未登录
未登录.png


授权
授权_.png


无登录时拦截示例
无登录时拦截示例.png


消息弹窗

通知弹出_wan.jpg


首页

首页.png


讨论区

讨论区.png


个人中心

个人信息
个人中心_个人信息.png


团队管理
个人中心_团队管理.png


我的收藏
个人中心_我的收藏.png


我的预约
个人中心_我的预约.png


消息中心
个人中心_消息中心_wan.png


申请or邀请
个人中心_申请or邀请.png


认证申请
个人中心_认证申请.png


联系客服
个人中心_联系客服.png


退出登录
个人中心_退出登录.png


聊天功能设计概要

以下设计暂时看个开心就好,毕竟设计笑嘻嘻,实现MMP?。

IM系统简单架构
IM系统简单架构.png

  • 完整架构在上面,另外注册中心、服务发现、配置中心都换成nacos。

消息处理时序图
消息处理时序图.png


常见问题

  • Q:组队功能中,在同意申请/邀请后,如何联系到对方呢?

  • A:在聊天功能实装前,可通过同意申请/邀请后的留言留下联系方式。

  • Q:个人主体的微信账号能上线小程序吗?

  • A:不可能三连:绝对不可能,想都不要想,在想Peach社交类目至少需要企业资质,严格点可能还需要对应的证书,所以别想着个人账号能过审,要上线的话学校方的帮助是少不了的。

  • Q:现在文件只能支持OSS存储吗?不可以本地磁盘?

  • A:这个正在考虑中,考虑到磁盘空间有限、一般服务器带宽较小的问题,为了提升图片等资源的加载速度以提升用户体验,目前仅支持七牛云的OSS。

  • Q:IM服务为啥不分得更细?比如把连接维护和消息持久化分成多个服务?

  • A:这里说两点:①由于网络通信的不确定性,随意拆分服务会大大提高系统的复杂度,比如常见的消息重复发送,又或者消息在TCP连接中顺利发送出去了,但消费者在消息被处理前(此时消息可能还在缓冲区)宕机了等等情况。②笔者没那么多时间,先简单实现,之后有机会可能会迭代演进。