基于SpringBoot+Vue的毕业设计选题系统
项目概述
该系统是一个基于SpringBoot+Vue的毕业设计选题系统,支持管理员、教师和学生三种角色,实现毕业设计选题、审核、管理等全流程功能。
项目技术栈
前后端分离
后端:
Springboot2 + Mybatis
前端:
Vue3 + ElementUI + Axios
数据库:
MySQL
版本要求
JDK 1.8
MySQL 5.7
Node.js 16
Maven 3.8+
Navicat 16+
数据库表:17 张表
难度系数:
项目目录结构
一、java后端服务
1. 项目根目录 (server_code/)
1
2
3
4
5
server_code
├── sql/ # 数据库脚本目录
├── src/ # 源代码目录
├── pom.xml # Maven主配置文件
└── pom-war.xml # WAR包打包配置
2. 后端核心代码 (src/main/java/com/cl/)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
src/main/java/com/cl/
├── annotation/ # 自定义注解
├── config/ # 配置类
├── controller/ # 控制器层(API接口)
│ ├── CommonController.java # 通用控制器
│ ├── ConfigController.java # 配置控制器
│ ├── DabianlunwenController.java # 答辩论文控制器
│ ├── DaibanxinxiController.java # 待办信息控制器
│ ├── FileController.java # 文件上传控制器
│ ├── JiaoshiController.java # 教师控制器
│ ├── KaitibaogaoController.java # 开题报告控制器
│ ├── LunwenchugaoController.java # 论文初稿控制器
│ ├── MenuController.java # 菜单控制器
│ ├── NewsController.java # 公告信息控制器
│ ├── PingfenshenheController.java # 评分审核控制器
│ ├── ShenhejianyiController.java # 审核建议控制器
│ ├── StoreupController.java # 收藏控制器
│ ├── TimuleixingController.java # 题目类型控制器
│ ├── TimuxinxiController.java # 题目信息控制器
│ ├── UsersController.java # 管理员控制器
│ ├── XuantishenqingController.java # 选题申请控制器
│ └── XueshengController.java # 学生控制器
├── dao/ # 数据访问层
├── entity/ # 实体类(与数据库表对应)
├── interceptor/ # 拦截器
├── service/ # 业务逻辑层
├── utils/ # 工具类
└── SpringbootSchemaApplication.java # Spring Boot启动类
二、vue后台管理系统
1. 核心配置文件
1
2
3
4
5
6
7
8
babel.config.js # Babel转译配置
vue.config.js # Vue CLI配置
jsconfig.json # JavaScript配置文件
package.json # 项目依赖和脚本
package-lock.json # 依赖版本锁定文件
.env.development # 开发环境配置
.env.production # 生产环境配置
2. 源码目录 (src/)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
src/
├── assets/ # 静态资源(图片、样式等)
├── components/ # 公共组件
├── router/ # 路由配置
├── store/ # Vuex状态管理
├── utils/ # 工具函数
├── views/ # 页面组件目录
│ ├── config/ # 系统配置页面
│ ├── dabianlunwen/ # 答辩论文管理页面
│ ├── daibanxinxi/ # 待办信息管理页面
│ ├── jiaoshi/ # 教师管理页面
│ ├── kaitibaogao/ # 开题报告管理页面
│ ├── lunwenchugao/ # 论文初稿管理页面
│ ├── news/ # 公告信息页面
│ ├── pingfenshenhe/ # 评分审核页面
│ ├── shenhejianyi/ # 审核建议页面
│ ├── storeup/ # 我的收藏页面
│ ├── timuleixing/ # 题目类型管理页面
│ ├── timuxinxi/ # 题目信息管理页面
│ ├── users/ # 管理员用户管理
│ ├── xuantishenqing/ # 选题申请页面
│ ├── xuesheng/ # 学生管理页面
│ ├── forget.vue # 忘记密码页面
│ ├── HomeView.vue # 首页
│ ├── index.vue # 入口页
│ ├── login.vue # 登录页
│ └── updatepassword.vue # 修改密码页面
├── App.vue # 根组件
└── main.js # 入口文件
三、vue前台用户端
1. 核心配置文件
1
2
3
4
5
6
7
8
9
babel.config.js # Babel转译配置
vue.config.js # Vue CLI配置
jsconfig.json # JavaScript配置文件
package.json # 项目依赖和脚本
package-lock.json # 依赖版本锁定文件
.env.development # 开发环境配置
.env.production # 生产环境配置
.gitignore # Git忽略文件配置
README.md # 项目说明文档
2. 源码目录 (src/)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
src/
├── assets/ # 静态资源(图片、样式等)
├── components/ # 公共组件
├── router/ # 路由配置
├── store/ # Vuex状态管理
├── utils/ # 工具函数
├── views/ # 视图组件目录(主要页面)
│ ├── pages/ # 页面组件目录
│ │ ├── dabianlunwen/ # 答辩论文页面
│ │ ├── dabanxinxi/ # 答辩信息页面
│ │ ├── jiaoshi/ # 教师页面
│ │ ├── kaitibaogao/ # 开题报告页面
│ │ ├── lunwenchuqao/ # 论文初稿页面
│ │ ├── news/ # 新闻页面
│ │ ├── pingfenshenhe/ # 评分审核页面
│ │ ├── shenhejanyi/ # 审核建议页面
│ │ ├── storeup/ # 我的收藏页面
│ │ ├── timuleixing/ # 题目类型页面
│ │ ├── timuxinxi/ # 题目信息页面
│ │ ├── xuantishenging/ # 选题申请页面
│ │ ├── xuesheng/ # 学生页面
│ │ ├── forget.vue # 忘记密码页面
│ │ ├── home.vue # 首页
│ │ └── login.vue # 登录页
│ └── index.vue # 入口页
├── App.vue # 根组件
└── main.js # 入口文件
项目数据库
数据库概述
数据库名
cl3196870
字符集
utf8
排序规则
utf8_general_ci
主要数据表
| 表名 | 表描述 |
|---|---|
| xuesheng | 存储学生基本信息 |
| jiaoshi | 存储教师基本信息 |
| timuxinxi | 存储毕业设计题目信息 |
| xuantishenqing | 存储学生选题申请记录 |
| pingfenshenhe | 存储论文评分信息 |
项目功能介绍
后台管理系统
用户登录
管理员、教师角色登录
首页
图表展示评分审核、评分统计
学生管理
列表、详情、添加、修改、删除
教师管理
列表、详情、添加、修改、删除
题目信息管理
题目类型管理、题目信息管理
选题申请管理
列表、详情、审核
审核建议管理
列表、详情、审核
开题报告管理
列表、详情
论文初稿管理
列表、详情
评分审核管理
列表、详情、统计
前台用户端
用户登录/注册
学生用户登录与注册功能
首页
题目信息展示、公告信息展示
题目信息页
题目列表、筛选、详情、申请、收藏
个人中心
修改信息、密码,管理选题申请、审核建议等