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

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