基于知识图谱的在线学习系统

系统支持管理员、教师、学生三类角色,实现权限隔离,提供注册、登录及个人信息管理功能。教师可创建、编辑、发布课程,管理员负责课程审核与上下架;学生可浏览、搜索、筛选课程。基于Neo4j构建知识图谱,展示知识点关联关系,助力学生梳理知识结构。
学生可在线学习课程,系统自动记录学习进度、时长及断点,支持续学;教师可创建试卷、添加各类题目,学生参加在线考试后系统自动评分,同时自动收集错题形成错题本。基于Mahout混合推荐算法及用户画像(结合学习行为、兴趣等数据),为学生提供个性化课程推荐。
系统还包含课程收藏、学习进度可视化、学习日历等功能,记录学习轨迹;管理员可管理公告、轮播图及系统配置,发布各类通知、推广精品课程。此外,系统支持多维度数据统计分析,记录用户行为日志,用于算法优化与学情监测,全面满足教学、学习及管理需求。

系统功能截图

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

系统功能说明

  1. 用户管理功能:系统支持三类角色(管理员、教师、学生),提供用户注册、登录、个人信息管理、权限控制等功能,不同角色拥有不同的操作权限和界面。

  2. 课程管理功能:教师可创建、编辑、发布课程,包含课程标题、简介、封面、视频、内容等;管理员可审核课程、上下架管理;学生可浏览课程列表、查看课程详情、搜索和筛选课程。

  3. 知识图谱功能:基于Neo4j图数据库构建知识点关系网络,展示知识点之间的前置、后续、包含、相关等关系,帮助学生理解知识结构,制定学习路径。

  4. 在线学习功能:学生可观看课程视频、阅读课程内容,系统自动记录学习进度、学习时长、上次观看位置,支持断点续学,跟踪学习完成情况。

  5. 在线考试功能:教师可创建试卷、添加题目(单选、多选、判断),设置总分、及格分数、考试时长;学生可参加在线考试,系统自动评分,记录考试成绩和答题详情。

  6. 错题管理功能:系统自动收集学生考试中的错题,形成错题本,支持错题复习、掌握程度标记,帮助学生针对性地巩固薄弱知识点。

  7. 课程推荐功能:基于Mahout协同过滤算法和内容推荐算法,结合用户画像、学习历史、收藏记录等数据,为学生提供个性化的课程推荐。

  8. 用户画像功能:通过分析用户的学习行为、兴趣偏好、能力水平等数据,构建多维用户画像向量,包括完成率、学习速度、平均分数、兴趣权重等特征。

  9. 学习进度管理:记录学生对各知识点和课程的学习进度,展示掌握程度(未学习、学习中、已掌握、精通),可视化学习日历,统计学习时长和完成情况。

  10. 课程收藏功能:学生可收藏感兴趣的课程,方便后续快速访问,收藏数据用于课程推荐算法,提升推荐准确度。

  11. 公告管理功能:管理员可发布系统公告、课程公告、考试公告等,支持置顶功能,学生可查看公告列表和详情。

  12. 轮播图管理:管理员可管理系统首页轮播图,包括图片、链接、排序、状态等,用于推广精品课程和重要活动。

  13. 数据统计分析:提供多维度数据统计,包括用户学习统计、课程学习分析、考试成绩分析、用户行为分析等,支持图表可视化展示。

  14. 系统配置管理:管理员可配置系统基本参数,如网站名称、Logo、备案号等,支持动态配置,无需修改代码。

  15. 学习日历功能:记录用户每日学习情况,包括学习时长、学习课程数、完成课程数、参加考试数、平均分数等,形成学习轨迹。

  16. 行为日志记录:记录用户的浏览、收藏、学习、测试等行为日志,用于数据分析和推荐算法优化。

系统测试账号

账号角色密码
admin管理员123456
user1学生123456
teacher1教师123456

技术栈

后端技术

  • 核心框架:Spring Boot 3.5.7
  • ORM框架:MyBatis-Plus 3.5.7
  • 数据库:MySQL 8.0
  • 知识图谱:Neo4j
  • 推荐算法:Mahout 0.6(协同过滤+内容推荐混合推荐)
  • 其他依赖:Lombok、Fastjson、OkHttp、Freemarker
  • 运行环境:JDK 17

前端技术

  • 核心框架:Vue 3.5
  • UI组件库:Element Plus
  • 路由管理:Vue Router
  • HTTP客户端:Axios
  • 构建工具:Vite

开发工具

  • 后端开发:IntelliJ IDEA
  • 前端开发:VSCode
  • 数据库管理:Navicat
  • 版本控制:Git

角色功能描述

1. 管理员角色(admin)

  • 系统管理:管理系统配置、轮播图、公告信息
  • 用户管理:查看和管理所有用户信息(学生、教师)
  • 课程管理:审核、上架/下架课程,管理课程分类
  • 考试管理:管理试卷和考试记录
  • 数据统计:查看学习统计、用户行为分析等数据报表
  • 知识图谱:管理知识点及其关系,维护图谱数据

2. 教师角色(teacher)

  • 课程管理:创建、编辑、发布自己负责的课程
  • 考试管理:创建试卷、添加题目、管理考试
  • 学生管理:查看学生的学习进度和成绩
  • 数据分析:查看课程学习分析、学生表现统计
  • 个人中心:管理个人信息、查看教学数据

3. 学生角色(user)

  • 课程学习:浏览课程、观看视频、学习课程内容
  • 知识图谱:查看知识点关系图谱,了解知识结构
  • 在线考试:参加课程相关考试,查看考试成绩
  • 学习记录:跟踪个人学习进度、查看学习历史
  • 课程收藏:收藏感兴趣的课程
  • 课程推荐:获取基于用户画像的个性化课程推荐
  • 个人中心:管理个人信息、查看学习统计数据

页面/文件功能详细描述

后端部分(Java)

controller/ - 控制器层
文件名功能描述
CarouselController轮播图管理接口
CategoryController课程分类管理接口
CourseController课程管理接口
CourseRecommendController课程推荐接口
ExamController考试管理接口
FavoriteController课程收藏接口
KnowledgeGraphController知识图谱管理接口
LearningProgressController学习进度接口
NoticeinfoController公告信息管理接口
StudyRecordController学习记录接口
SystemConfigController系统配置接口
UserProfileController用户画像接口
UserinfoController用户信息管理接口
entity/ - 实体类层
文件名功能描述
Carousel轮播图实体
Category课程分类实体
Course课程信息实体
CourseRecommend课程推荐记录实体
ExamPaper试卷信息实体
ExamQuestion考试题目实体
ExamRecord考试记录实体
Favorite课程收藏实体
KnowledgePoint知识点实体
KnowledgeProgress知识点学习进度实体
KnowledgeRelation知识点关系实体
LearningCalendar学习日历实体
Noticeinfo公告信息实体
StudyRecord学习记录实体
SystemConfig系统配置实体
UserBehaviorLog用户行为日志实体
UserProfile用户画像实体
Userinfo用户信息实体
WrongQuestion错题记录实体
其他后端目录
  • mapper/:MyBatis-Plus Mapper接口,数据库操作
  • service/:业务逻辑层,包含接口和实现类
  • utils/:工具类,包含通用功能
    • BlockchainUtil - 区块链工具(预留)
    • CommonMapper - 通用Mapper
    • FileUploadController - 文件上传处理
    • GlobalResult - 统一返回结果
    • JSONIndexController - JSON索引控制器
    • JacksonConfig - Jackson序列化配置

前端部分(Vue)

views/home/ - 学生端页面
文件名功能描述
CourseDetail.vue课程详情页面
CourseList.vue课程列表页面
CourseRecommend.vue课程推荐页面
CourseStudy.vue课程学习页面
Dashboard.vue学生首页仪表盘
ExamList.vue考试列表页面
ExamPage.vue在线考试页面
ExamRecords.vue考试记录页面
Index.vue学生主页
IndexNotice.vue公告信息页面
KnowledgeGraph.vue知识图谱可视化页面
LearningProgress.vue学习进度页面
MyCarousel.vue轮播图组件
MyFavorite.vue我的收藏页面
MyFoot.vue页脚组件
MyHead.vue页头导航组件
UserCenter.vue用户中心页面
UserLayout.vue用户布局组件
UserProfile.vue用户画像页面
views/manage/ - 管理员端页面
文件名功能描述
AdminCenter.vue管理员中心
AdminLayout.vue管理员布局
CarouselList.vue轮播图管理
Dashboard.vue管理员仪表盘
Echarts01.vue数据图表1
Echarts02.vue数据图表2
ListCarousel.vue轮播图列表管理
ListCategory.vue课程分类管理
ListCourse.vue课程列表管理
ListExam.vue考试管理
ListExamRecord.vue考试记录管理
ListFavorite.vue收藏管理
ListNoticeinfo.vue公告信息管理
ListStudyRecord.vue学习记录管理
ListUserProfile.vue用户画像管理
ListUserinfo.vue用户信息管理
SidebarMenu.vue侧边栏菜单
views/teacher/ - 教师端页面
文件名功能描述
CourseAnalysis.vue课程分析页面
CourseManage.vue课程管理页面
ExamManage.vue考试管理页面
StudentProgress.vue学生进度页面
TeacherDashboard.vue教师仪表盘
TeacherExamRecords.vue教师考试记录
其他前端文件
文件名功能描述
Login.vue登录页面
Register.vue注册页面
NotFound.vue404页面
router/index.js路由配置
utils/request.jsHTTP请求封装
App.vue根组件
main.js应用入口

【技术栈】
后端技术:

  • 核心框架:Spring Boot 3.5.7
  • ORM框架:MyBatis-Plus 3.5.7
  • 数据库:MySQL 8.0
  • 知识图谱:Neo4j
  • 推荐算法:Mahout 0.6(协同过滤+内容推荐混合推荐)
  • 其他依赖:Lombok、Fastjson、OkHttp、Freemarker
  • 运行环境:JDK 17

前端技术:

  • 核心框架:Vue 3.5
  • UI组件库:Element Plus
  • 路由管理:Vue Router
  • HTTP客户端:Axios
  • 构建工具:Vite

开发工具:

  • 后端开发:IntelliJ IDEA
  • 前端开发:VSCode
  • 数据库管理:Navicat
  • 版本控制:Git

【角色功能描述】

  1. 管理员角色(admin)
  • 系统管理:管理系统配置、轮播图、公告信息
  • 用户管理:查看和管理所有用户信息(学生、教师)
  • 课程管理:审核、上架/下架课程,管理课程分类
  • 考试管理:管理试卷和考试记录
  • 数据统计:查看学习统计、用户行为分析等数据报表
  • 知识图谱:管理知识点及其关系,维护图谱数据
  1. 教师角色(teacher)
  • 课程管理:创建、编辑、发布自己负责的课程
  • 考试管理:创建试卷、添加题目、管理考试
  • 学生管理:查看学生的学习进度和成绩
  • 数据分析:查看课程学习分析、学生表现统计
  • 个人中心:管理个人信息、查看教学数据
  1. 学生角色(user)
  • 课程学习:浏览课程、观看视频、学习课程内容
  • 知识图谱:查看知识点关系图谱,了解知识结构
  • 在线考试:参加课程相关考试,查看考试成绩
  • 学习记录:跟踪个人学习进度、查看学习历史
  • 课程收藏:收藏感兴趣的课程
  • 课程推荐:获取基于用户画像的个性化课程推荐
  • 个人中心:管理个人信息、查看学习统计数据
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐