Java实现教学资源共享平台 JAVA+Vue+SpringBoot+MySQL

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 数据中心模块
    • 2.2 课程档案模块
    • 2.3 课程资源模块
    • 2.4 课程作业模块
    • 2.5 课程评价模块
  • 三、系统设计
    • 3.1 用例设计
    • 3.2 类图设计
    • 3.3 数据库设计
      • 3.3.1 课程档案表
      • 3.3.2 课程资源表
      • 3.3.3 课程作业表
      • 3.3.4 课程评价表
  • 四、系统展示
  • 五、核心代码
    • 5.1 查询课程
    • 5.2 新增留言
    • 5.3 查询教师信息
    • 5.4 生成课程作业
    • 5.5 添加课程评价
  • 六、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的教学资源共享平台,包含了课程管理、课程课件、授课中心、作业发布、课程评价、课程质量分析、交流互动模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,教学资源共享平台基于角色的访问控制,给教师、学生使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

在这里插入图片描述

1.2 项目录屏


二、功能模块

近年来,计算机技术、网络技术的迅猛发展,给传统办学提供了新的模式。绝大部分大学和学院都已介入互联网领域,并建成校园网,各校的硬件设施也已经比较完善。通过设计网络拓扑架构、数据库基础结构,建设网络安全系统、信息共享与管理系统、信息的发布与管理系统,方便了管理者、老师和学生间的信息发布、信息交流和信息共享。以现代计算机技术、网络技术为基础的数字化教学,主要是朝着信息化、网络化、现代化的目标迈进。

在这里插入图片描述

本文设计的教学资源共享平台的包括了系统数据中心模块,用来存放管理系统通用的模块,另外分别设计了课程档案模块、课程资源模块、课程作业模块、课程评价模块、授课管理模块和学习质量分析模块这六大模块,用于存放系统的核心业务逻辑。

2.1 数据中心模块

数据中心模块包含了对教学资源共享平台的基础模块,比如管理谁可以登录这套系统,记录这些人登录系统做了什么,不同的人拥有不同权限的管理。

2.2 课程档案模块

课程档案模块用于对课程的数据进行管理,其中包括课程标题、课程介绍、课程图片、课程状态、创建人、创建时间、更新人、更新时间等,可以通过此模块对课程数据进行添加、编辑更新、删除、查询操作。

2.3 课程资源模块

课程资源管理模块是对课程的资源信息进行管理,课程有了资源才能更好的被学生所接受,课程资源的字段包括课程ID、课程名称、资源名称、文件、创建人、创建时间、更新人、更新时间等,教师可以新增课程的资源数据,学生可以查询教师发布的课程资源信息。

2.4 课程作业模块

课程作业模块是为了管理课程的作业数据,有了课程后,教师可以发布指定课程的作业数据,支持一键生成课程作业,其中课程作业的字段包括课程ID、课程名称、作业名称、作业附件、完成附件、学生ID、学生姓名、创建人等,教师可以增加、删除、编辑和条件查询课程作业,学生可以提交属于自己的作业数据。

2.5 课程评价模块

课程评价模块是维护关于课程的评价信息,学生学习完课程后,可以对课程进行评价,撰写评语,以便于改进课程的质量。其中课程评价字段包括课程ID、课程名称、评价人、评价内容、评价时间、备注、创建人、创建时间等,学生可以增加、删除、编辑和条件查询自己的课程评价,教师可以查询课程的评价内容。


三、系统设计

3.1 用例设计

UML是面向对象的图形化建模语言,具有表示容易,定义友好,适用范畴广泛,功能强大。用例图是用例模型的一种,需求分析人员可采用用例图表示用户操作行为。教学资源共享平台的用例图设计主要包括学生用户用例图设计、教师用户用例设计。

在这里插入图片描述

3.2 类图设计

在这里插入图片描述

3.3 数据库设计

3.3.1 课程档案表

在这里插入图片描述

3.3.2 课程资源表

在这里插入图片描述

3.3.3 课程作业表

在这里插入图片描述

3.3.4 课程评价表

在这里插入图片描述


四、系统展示

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


五、核心代码

5.1 查询课程

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程")
public Result<IPage<Curriculum>> getByPage(@ModelAttribute Curriculum curriculum ,@ModelAttribute PageVo page){QueryWrapper<Curriculum> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(curriculum.getTitle())) {qw.like("title",curriculum.getTitle());}if(!ZwzNullUtils.isNull(curriculum.getContent())) {qw.like("content",curriculum.getContent());}if(!ZwzNullUtils.isNull(curriculum.getStatus())) {qw.eq("status",curriculum.getStatus());}IPage<Curriculum> data = iCurriculumService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Curriculum>>().setData(data);
}

5.2 新增留言

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增留言")
public Result<Message> insert(Message message){User currUser = securityUtil.getCurrUser();message.setUserId(currUser.getId());message.setUserName(currUser.getNickname());message.setTime(DateUtil.now());message.setReplyContent("");message.setReplyId("");message.setReplyName("");message.setReplyTime("");iMessageService.saveOrUpdate(message);return new ResultUtil<Message>().setData(message);
}

5.3 查询教师信息

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询教师信息")
public Result<IPage<TeacherData>> getByPage(@ModelAttribute TeacherData teacherData ,@ModelAttribute PageVo page){QueryWrapper<TeacherData> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(teacherData.getName())) {qw.like("name",teacherData.getName());}if(!ZwzNullUtils.isNull(teacherData.getLevel())) {qw.eq("level",teacherData.getLevel());}IPage<TeacherData> data = iTeacherDataService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<TeacherData>>().setData(data);
}

5.4 生成课程作业

@RequestMapping(value = "/create", method = RequestMethod.GET)
@ApiOperation(value = "生成课程作业")
public Result<Assignment> create(@RequestParam String id,@RequestParam String title,@RequestParam String file){Curriculum curriculum = iCurriculumService.getById(id);if(curriculum == null) {return ResultUtil.error("课程不存在");}// 删除原作业QueryWrapper<Assignment> assQw = new QueryWrapper<>();assQw.eq("curriculum_id",curriculum.getId());iAssignmentService.remove(assQw);// 查询所有授课QueryWrapper<Timetable> tQw = new QueryWrapper<>();tQw.eq("curriculum_id",curriculum.getId());List<Timetable> timetableList = iTimetableService.list(tQw);for (Timetable t : timetableList) {Assignment a = new Assignment();a.setCurriculumId(curriculum.getId());a.setCurriculumName(curriculum.getTitle());a.setTitle(title);a.setFile1(file);a.setFile2("");a.setUserId(t.getUserId());a.setUserName(t.getUserName());iAssignmentService.saveOrUpdate(a);}return ResultUtil.success();
}

5.5 添加课程评价

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "添加课程评价")
public Result<Object> addOne(@RequestParam String id,@RequestParam String content){Curriculum curriculum = iCurriculumService.getById(id);if(curriculum == null) {return ResultUtil.error("课程不存在");}User currUser = securityUtil.getCurrUser();Appraise a = new Appraise();a.setCurriculumId(curriculum.getId());a.setCurriculumName(curriculum.getTitle());a.setUserId(currUser.getId());a.setUserName(currUser.getNickname());a.setContent(content);a.setTime(DateUtil.now());iAppraiseService.saveOrUpdate(a);return ResultUtil.success();
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/466680.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法村目录

大家好我是苏麟 , 这是算法村使用目录 . 算法通关村 从链表到动态规划的实战 目录 算法村开篇第一关 了解链表第二关 链表专题第三关 数组专题第四关 栈专题第五关 队列专题第六关 树专题第七关 二叉树遍历专题第八关 二叉树专题第九关 二分查找与二叉树专题第十关 快速排序与归…

springBoot,springSecurity返回乱码

框架&#xff1a;SpringBoot3 问题&#xff1a;响应内容乱码 问题代码&#xff1a; // 成功登录响应的内容Overridepublic void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication…

备战蓝桥杯---组合数学基础1

让我们来几道高中的组合题吧&#xff1a; 1.我们一定有n个向下&#xff0c;为 2.我们挑最大的两个&#xff0c;条件是他们奇偶性相同&#xff0c;为2*A10,2; 3.用捆绑法即可。 4.我们用隔板法&#xff0c;为 5.问题等价于23个相同的球放到3个盒子里&#xff0c;每个盒子至少…

Centos9部署LAMP

配置LAMP 参考文档 https://blog.csdn.net/weixin_51432789/article/details/112254685 首先安装 yum install -y libxml2-devel 安装apr-1.7.4 解压 tar xf apr-1.7.4.tar.gz 安装以来 yum -y install gcc cd apr-1.7.4/ 预编译 ./configure --prefix/usr/local/…

视频讲解:优化柱状图

你好&#xff0c;我是郭震 AI数据可视化 第三集&#xff1a;美化柱状图&#xff0c;完整视频如下所示&#xff1a; 美化后效果前后对比&#xff0c;前&#xff1a; 后&#xff1a; 附完整案例源码&#xff1a; util.py文件 import platformdef get_os():os_name platform.syst…

HiveSQL——设计一张最近180天的注册、活跃留存表

0 问题描述 现有一个用户活跃表user_active(user_id,active_date)、 用户注册表user_regist(user_id,regist_date)&#xff0c;表中分区字段都为dt(yyyy-MM-dd)&#xff0c;用户字段均为user_id; 设计一张 1-180天的注册活跃留存表&#xff1b;表结构如下&#xff1a; 1 数据分…

文件包含知识点详细总结

如果想看图片和观感更好的话,可以直接去我的github或者gitbook github:https://github.com/kakaandhanhan/cybersecurity_knowledge_book-gitbook.22kaka.fun gitbook:http://22kaka.fun description: 这里将通过参考文章和做题一起进行总结,并且文件包含漏洞,很多都利用了…

基于大语言模型的AI Agents

代理&#xff08;Agent&#xff09;指能自主感知环境并采取行动实现目标的智能体。基于大语言模型&#xff08;LLM&#xff09;的 AI Agent 利用 LLM 进行记忆检索、决策推理和行动顺序选择等&#xff0c;把Agent的智能程度提升到了新的高度。LLM驱动的Agent具体是怎么做的呢&a…

JavaI/O流 File类(文件)

目录 File类实例 File类 Java的File类是java.io.File的一个类&#xff0c;它表示文件或目录的路径名。这个类在处理文件和目录时非常有用&#xff0c;它提供了很多静态方法来操作文件和目录。 以下是一些File类的常见方法&#xff1a; 构造方法&#xff1a;创建表示文件或目…

vue3 腾讯tdesign 后台管理框架的使用

1.介绍 TDesign 是具有包容性的设计体系&#xff0c;它强调为业务提供产品、服务等过程中&#xff0c;追求以人为本、人人受益的包容性&#xff0c;要求搭建过程中&#xff0c;了解业务底层&#xff0c;理解业务场景的多样性&#xff0c;并在繁杂的业务场景中寻找共性和特性&a…

【教学类-46-07】20240212立体春字1.0

背景需求&#xff1a; 在南浔古镇的非遗文化馆里看到一个新年活动折纸——立体春字&#xff0c; 我记得这个就是一个双三角结构折纸&#xff0c;完全可以用15*15的手工纸给孩子们做一套。 折纸教程 双三角折法 【“鼠”你有才】纸艺教学 剪纸——立体春字&#xff08;2月23日…