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