/joyfully

SpringBoot + Vue 搭建的学习系统

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Joyfully


​ Joyfully 是一款开源的在线学习辅助系统,可以视为问题记录和知识分享的结合网站。Joyfully还支持文件上传,用来分享你的学习笔记或者问题记录。

设计来源

​ 本项目部分的参考来源于一个Anki的字卡软件,Anki中每个知识点配置相应的卡片式复习的方式给了笔者触动。例如有一个设计模式的问题,使用者可以将对应的知识转化成问答的形式存储起来,之后在进行复习过程中根据问题联想答案,使用者在联想结束后根据自身的认识将问题判断为:已掌握,模糊,不记得三类选择。根据后台所采用的不同的知识分配的算法还能提升使用者的记忆率,例如艾宾浩斯遗忘曲线。这样设计的方式还能让对应的问答集可以整合起来,变成通用的知识库以供流传。

​ 本项目还有部分设计参考自百度知道、知乎等问题社区,此类问题社区是管理员和审核员设计的参考来源。

主要功能

Joyfully 功能结构图

技术栈

后端: SpringBoot + MyBatisPlus

前端: Vue + Vue-Router + Axios + Element-Plus

数据库: MySQL

开发环境

JDK: jdk1.8.0_281

MySQL:mysql-5.7.33-Win64-x86_64

Node:v14.15.1

IDE:IntelliJ IDEA 2020、SQLyog

历史版本迭代

2021-12-14 版本 1.0.0

主要功能:

  • 用户
    • 对自己所创建的问题进行操作
    • 回顾问题
    • 上传笔记文件等
    • 聊天室询问其他在线人员
  • 管理员
    • 对用户、问题、文件统筹管理

待解决问题:

  1. 聊天室的用户无法得知对方是否收到消息
  2. 用户界面未独立出来,和管理员共用一套页面布局
  3. 管理界面进行用户管理时第一页显示不正确(具体表现为第一页总是只显示几行用户数据)
  4. 界面还需优化,需要将用户和管理员剥离,并计划采用隐性验证,将登录界面的用户、管理员单选框去除

2022-5-7 版本1.1.0

新增功能:

  • 用户

    • 问题广场
    • 资源广场
  • 管理员

    • 公告管理
  • 审核员

    • 对问答、资源进行审核
  • 通用

    • 主页(展示公告以及优秀问题、资源等)
  • 更改个人信息及密码

    • 消息(离线消息,在页面展示中取消了上版本的聊天室)

问题解决:

  1. 取消了聊天室的前台展示,新增消息功能(离线消息)
  2. 部分用户界面依然不够美观,还是与后台管理的风格类似
  3. 已解决
  4. 已解决

新问题:

  1. 资源预览只能打开新页面,无法在本页面窗口预览
  2. 部分按钮或标签过于僵硬,替换成动态图标应该更生动
  3. 消息模块过于单薄,只能发送文字消息
  4. 未实现Anki中的助记模块,预计未来版本实现
  5. 对问题模块SQL查询中 多表联查限制指定表条数失败