1 Star 1 Fork 0

which / strong-child

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

少年强国

包括用户登录注册、更新个人信息、按标签搜索用户、推荐相似用户、组队、观看科普学习视频、视频评论收藏、答题换取积分、志愿者审核上传视频等功能。

  • 儿童用户登录:使用 Redis 实现分布式 Session,解决集群间登录态同步问题
  • 对项目中复杂的集合处理(比如队伍列表关联已加入队伍的用户),使用 Java 8 Stream API 和 Lambda 表达式来简化编码。
  • 使用 Redis 缓存首页高频访问的用户信息列表,在用户数量为 130W 时将分页推荐接口响应时长从 729 ms 缩短至 23 ms(本地测试)。且通过自定义 Redis 序列化器来解决数据乱码、空间浪费的问题。
  • 为解决首次访问系统的用户主页加载过慢的问题,使用 Spring Scheduler 定时任务来实现缓存预热,并通过分布式锁保证多机部署时定时任务不会重复执行。
  • 为解决同一用户重复加入队伍、入队人数超限的问题,使用 Redisson 分布式锁来实现操作互斥,保证了接口幂等性;涉及多表操作时如儿童用户加入队伍通过事务保持数据一致性。
  • 使用编辑距离算法实现了根据标签匹配最相似儿童伙伴的功能,并通过优先队列来减少 TOP N 运算过程中的内存占用。
  • 编写 Dockerfile,并通过第三方容器托管平台实现自动化镜像构建及容器部署,提高部署上线效率。
  • 使用 Knife4j + Swagger 自动生成后端接口文档,并通过编写 ApiOperation 等注解补充接口注释,避免人工编写维护文档。

需求分析

儿童端

乐学(寻找学习伙伴,建立队伍)

  1. 看视频
  2. 每个视频结束有测试题
  3. 可获得积分
  4. 积分兑换礼物
  5. 视频提问区
  • 同一题目一天内仅可以获得一次积分
  • 一天做多获取 10 (?) 积分
  • 视频分类、收藏、热度(观看、点赞、评论数量)

心灵驿站(聊天)

视频聊天

  • 聊天时长统计
  • 聊天视频缓存(?)
  • 后期接入状态分析系统

文字聊天

  1. 聊天记录
  2. 实时消息推送

题库

  1. 分类
  2. 错题记录、回看

其他

  1. 身份验证(登录注册、找回密码等)验证码发送
  2. 视频观看时长统计
  3. 积分消耗追踪
  4. 视频提问区隐藏真实身份?交流界面展示真实身份?
  5. 志愿者招募、自动统计数据

视频提供者端

视频上传

  1. 上传(上传数据统计)
  2. (审核)
  3. 管理
  4. 视频数据
  5. 题目设置

志愿者端

  • 交流
  • 回答问题(视频提问区的)意味着志愿者也可以看到视频

家长端

隐藏需求分析

  1. 乐学视频
    • 统计观看了哪些视频,什么时候看的(历史记录)
    • 统计答题情况(哪些答对了,哪些答错了,日期)
    • 分类
    • 收藏
  2. 聊天消息
  3. 积分
    • 记录
  4. 虚拟号码管理
  5. 学生按学校统计
  6. 身份验证与鉴权

视频分类与推荐

空文件

简介

留守儿童学习成长陪伴平台 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/kang-weichen/strong-child.git
git@gitee.com:kang-weichen/strong-child.git
kang-weichen
strong-child
strong-child
master

搜索帮助