# Springboot毕设选题系统 **Repository Path**: xcsdgqg/Graduation-Project-Selection-System ## Basic Information - **Project Name**: Springboot毕设选题系统 - **Description**: 毕设选题系统小组作业 - **Primary Language**: Java - **License**: Unlicense - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-21 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 毕业设计选题管理系统 基于 Java 的毕业设计选题管理系统,提供管理员、教师和学生三种角色的选题管理功能。 本系统采用 Spring Boot 框架搭建后端服务,结合 MySQL 数据库进行数据存储,并利用 Bootstrap 与 Thymeleaf 技术实现前端交互界面。 --- ## 主要功能 ### 通用功能 - 用户注册与登录 - 个人信息管理 - 消息通知系统 - 密码加密存储(BCrypt) ### 管理员功能 - 用户管理(增删改查) - 角色权限管理 - 审核选题 - 全局消息发布 ### 教师功能 - 发布选题 - 审核学生选题申请 - 查看选题状态 - 消息接收 ### 学生功能 - 浏览选题 - 提交选题申请 - 查看选题状态 - 消息接收 --- ## 技术栈 ### 后端 - Spring Boot 3.1.0 - MyBatis-Plus 3.5.3.1 - Spring Security - Logback 日志系统 ### 前端 - Thymeleaf 模板引擎 - Bootstrap 5 - jQuery - Chart.js ### 数据库 - MySQL 8.0 ### 构建工具 - Maven 3.9.9 --- ## 数据库设计 ### 主要表结构 - 用户表(user):存储用户基本信息 - 角色表(role):定义用户角色 - 权限表(permission):定义系统权限 - 课题表(topic):存储选题信息 - 选题记录表(student_topic):记录选题过程 - 消息表(message):存储系统消息 - 角色权限关联表(role_permission) - 用户角色关联表(user_role) --- ## 快速开始 ### 环境要求 - JDK 17 - MySQL 8.0 - Maven 3.9.9 ### 安装步骤 1. 克隆仓库 ```bash git clone https://gitee.com/xcsdgqg/Graduation-Project-Selection-System.git ``` 2. 创建数据库和表 ```sql CREATE DATABASE topic_selection; ``` ``` 创建表语句:所有的建表语句.txt 触发器语句:角色表状态同步更新触发器.txt 插入数据:角色表必须按照如下顺序 ![输入图片说明](src/main/resources/static/image.png) ``` 3. 修改配置文件 编辑 `src/main/resources/application.yml`,配置数据库连接信息 4. 启动应用 ```bash mvn spring-boot:run ``` 5. 访问系统 - 管理员:http://localhost:8080/admin - 教师:http://localhost:8080/teacher - 学生:http://localhost:8080/student - 登录/注册:http://localhost:8080