当前位置: 首页 > news >正文

Spring Boot 3 + Vue 3 教学科研小组管理系统源码前后端分离实战

一、项目简介

教学科研小组管理系统是一套前后端分离的科研协作平台,整体架构采用 Spring Boot 3 + Vue 3 + MySQL 技术栈,后端提供 RESTful API,前端通过 Axios 调用接口实现数据交互。系统支持三种角色:管理员、教师、学生。管理员负责全局配置与监控,教师管理小组、发布任务与批阅、管理文献与设备,学生参与小组、接收任务、提交作业与浏览文献。系统覆盖小组管理、任务发布与批阅、文献共享、设备管理、公告通知、私信与群组聊天、课表管理等核心场景,满足教学科研场景下师生协同工作的需求。

二、技术栈

技术说明
后端框架Spring Boot 3.x
ORMMyBatis-Plus 3.5.x
权限认证JWT Token + 拦截器
前端框架Vue 3 (Composition API)
状态管理Pinia
构建工具Vite
数据库MySQL 8.x
文件上传MultipartFile + 本地存储
邮件服务Spring Mail (异步发送)

三、功能模块

管理员端

  • 查看系统仪表盘统计:展示用户总数、任务总数、设备总数、公告总数等关键指标
  • 用户管理:支持分页查询用户列表,可按关键词/角色/状态筛选,排除 admin 角色
  • 新增用户:填写用户信息(姓名、邮箱、角色等),默认密码 123456 并经过 MD5 加密存储
  • 编辑用户:修改姓名、邮箱、角色、状态等字段,不覆盖已有密码
  • 批量删除用户:勾选多个用户后一键删除
  • 切换用户启用/禁用状态:一键停用或启用账号,控制登录权限
  • 重置用户密码:将指定用户密码重置为 123456
  • 查看所有任务列表:展示教师发布的全部任务,支持关键词搜索
  • 查看所有消息列表:按类型/关键词搜索,以管理员视角查看系统消息
  • 管理公告:新增、编辑、删除系统公告,公告内容支持富文本
  • 管理实验室设备:新增/编辑/删除设备,设置设备状态(维修中/空闲/在用)
  • 文件上传:支持按类型(如 avatar/common)上传文件,返回可访问的 URL

教师端

  • 登录系统:使用用户名+密码登录,获取 JWT Token 用于后续接口鉴权
  • 查看/修改个人资料:更新姓名、邮箱、头像等个人信息
  • 修改个人密码:输入旧密码和新密码完成密码修改
  • 管理科研小组:创建小组(自动设为组长)、编辑小组信息、删除小组(同时清理成员关系)
  • 管理小组成员:查看成员列表、添加/移除成员,仅可添加自己指导的学生
  • 发布任务:填写标题、内容、附件、截止时间,选择发布范围(单人/小组)并指定学生
  • 编辑/删除已发布任务:修改任务内容或删除任务,删除时同步清理接收与提交记录
  • 查看任务接收记录:查看哪些学生已确认接收任务
  • 批阅学生提交:查看学生提交内容,给出评分(分数)和评语,设置批阅状态
  • 查看教师任务统计:总发布数、待批阅数、已批阅数等概览数据
  • 查看名下学生列表:按关键词搜索自己指导的学生
  • 管理实验室设备:新增/编辑/删除设备,按状态/分类筛选查看设备列表
  • 管理文献:上传文献(标题、作者、分类、描述、附件),设置分享范围(全部/小组/个人)
  • 编辑/删除文献:修改文献信息或删除文献
  • 查看公告列表:浏览系统公告,支持关键词搜索
  • 发布公告:填写标题和内容,发布后自动向所有活跃用户发送系统消息
  • 消息中心:查看收件箱/发件箱消息,按类型/已读状态筛选,支持一键全部已读
  • 私信沟通:查看私聊会话列表(显示对方姓名、最后一条消息、未读数),发送私信
  • 小组讨论室:在小组内发送/查看聊天消息,仅组员/组长/管理员可访问
  • 管理个人课表:添加/编辑/删除课表条目,查看自己的课表
  • 查看学生课表:查看指定学生的课表,了解学生空闲时间

学生端

  • 登录系统:使用用户名+密码登录,获取 JWT Token
  • 查看/修改个人资料:更新姓名、邮箱、头像等信息
  • 修改个人密码:输入旧密码和新密码完成修改
  • 查看我的小组:显示我加入的小组以及我作为组长的小组列表
  • 查看小组成员:查看小组内所有成员信息
  • 查看任务列表:按关键词/状态筛选我的任务(待接收/待提交/已批阅/已存档)
  • 确认接收任务:点击接收按钮确认任务,状态变为待提交
  • 提交任务:上传附件或填写内容完成提交
  • 查看任务详情:查看任务描述、截止时间、批阅结果(评分和评语)
  • 查看学生任务统计:总任务数、待提交数、已批阅数等概览
  • 浏览文献库:查看教师分享的文献,按分享范围过滤(全部/小组/个人可见)
  • 收藏文献:点击收藏按钮收藏感兴趣的文献
  • 取消收藏:从收藏列表中移除文献
  • 查看我的收藏:浏览已收藏的文献列表
  • 记录阅读时长:阅读文献时记录阅读时长(秒)
  • 查看阅读记录:查看自己的文献阅读历史(文献标题、阅读时长、阅读时间)
  • 查看公告列表:浏览系统公告
  • 消息中心:查看收件箱/发件箱消息,支持一键全部已读
  • 私信沟通:查看私聊会话列表,与导师或同学发送私信
  • 小组讨论室:在小组内发送/查看聊天消息
  • 管理个人课表:添加/编辑/删除课表条目
  • 查看我的导师:获取自己的指导老师信息,用于发起私聊

四、项目总结

技术亮点包括:基于 Spring Boot 3 + Vue 3 的前后端分离架构,采用 JWT Token 实现无状态鉴权,MyBatis-Plus 简化数据访问层开发,Pinia 管理前端全局状态,文件上传与邮件服务集成。系统覆盖教学科研场景下小组协作、任务管理、文献共享、设备管理、消息沟通等完整闭环,适合作为 Java 全栈课程设计或毕业设计项目,也可作为中小型科研团队协作平台的基础框架进行二次开发。

界面展示

交付内容

本项目为完整交付,包含:

  • 完整后端源码
  • 完整前端源码
  • 数据库初始化脚本(SQL)
  • 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)

获取完整源码

完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K114

http://www.jsqmd.com/news/1236323/

相关文章:

  • 为什么选择MyNode?探索这款一站式比特币节点平台的核心优势
  • 鸿蒙 ArkTS 实战:Community Storage Box 从社区寄存柜到社区寄存应用完整解析
  • Linux终极文件搜索工具:FSearch快速入门指南
  • Shopify CLI完整指南:5分钟掌握电商开发利器
  • 2026速看!成都家里闲置LV、香奈儿该变现了,本地门店实时行情价回收,看完能少亏几千! - 逸程奢侈品回收中心
  • 2026 宁波老牌黄金回收店铺测评,哪家回收价格更划算 - 肉松卷
  • 2026 上海一线珠宝回收避坑指南,梵克雅宝卡地亚首饰正规变现渠道盘点 - 全国二奢机构参考
  • 为什么选择React Native ECharts?10个理由让移动端数据可视化更简单
  • Java学习第六天
  • React-Blog:如何实现文件上传与管理功能
  • UnicornTranscoder架构深度剖析:分布式转码系统设计原理
  • HandBrake容器格式深度解析:5种技术方案实战对比指南
  • 500+张Nord风格壁纸:为你的桌面注入北欧极简美学
  • 深入解析TMS320F2837xD Boot ROM与多模式启动机制
  • 新能源与环保工程GEO推广服务商:如何提升AI搜索中的高价值项目询盘 - 品牌深度评测
  • 【小程序课程设计/毕业设计】基于 SSM + 微信小程序的面向居民的社区物业便民服务小程序 社区物业资源整合与信息发布系统【附源码、数据库、万字文档】
  • Playnite游戏库管理器:免费开源的终极游戏启动中心解决方案
  • Kimi适配性深度测评:从零基础小白到资深知识工作者,这7种角色谁最受益?
  • Posterizarr安装与配置完全手册:Windows、Linux与Docker环境一键部署
  • 从零开始学习数据科学:Data-Science-EBooks完整学习路线图
  • AI搜索时代企业如何“被看见”?速搜AI推出GEO搜索优化一站式解决方案 - 新闻快传
  • MES系统架构详解:从数据采集到质量追溯的全链路设计
  • 长沙GEO服务商合规资质核验指南:信通院认证与行业标准深度解读 - 资讯在线
  • Pose2Mesh_RELEASE核心功能揭秘:从2D姿态到3D网格的革命性转换技术
  • 百考通得力助手:AI赋能任务书生成,助力每一份研究从良好开端走向卓越成果
  • 【JAVA毕设源码分享】基于springboot人力资源管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 【小程序课程设计/毕业设计】基于 SSM + 微信小程序的民宿在线下单入住管理服务小程序 乡村文旅民宿信息化预订管理系统【附源码、数据库、万字文档】
  • Dify私有化部署下的模型切换安全边界(含RBAC权限校验、模型签名验证、审计日志追踪)
  • HarmonyOS应用实战-启示散页-09-HAP、HAR、HSP 不要混着放:用模块边界守住答案之书
  • nebula.gl核心功能解析:10个必学的EditableGeoJsonLayer使用技巧