# thesis-admin **Repository Path**: haobinjun/thesis-admin ## Basic Information - **Project Name**: thesis-admin - **Description**: 毕业设计课题管理系统第四版,前后端分离架构 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-21 - **Last Updated**: 2026-01-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 毕业设计课题管理系统 ## 项目简介 本系统是一个基于 Web 的毕业设计课题管理平台,支持管理员、教师、学生三种角色的用户进行课题发布、选题、审核等操作。 ## 技术栈 - **前端**: HTML5 + CSS3 + JavaScript + jQuery - **后端**: Java + Servlet + MyBatis - **数据库**: MySQL 8.0+ - **服务器**: Tomcat 8.5+ ## 功能特性 ### 管理员功能 - 用户管理(添加、编辑、删除用户) - 课题管理(查看所有课题) - 选题管理(查看所有选题记录) - 数据统计(用户、课题、选题、待审核数量) - 通知发布(全局/个人通知) ### 教师功能 - 发布毕业设计课题 - 编辑、删除自己的课题 - 查看课题选题情况 - 审核学生选题申请 - 查看统计数据 ### 学生功能 - 浏览所有可用的毕业设计课题 - 按分类、难度筛选课题 - 搜索课题 - 选择课题 - 查看自己的选题记录和审核状态 - 退选未审核的课题 ## UI 特色 - **蓝色系配色**:区别于传统紫色系 - **左侧侧边栏导航**:现代化布局 - **卡片式 Dashboard**:数据可视化展示 - **响应式设计**:适配多种屏幕 - **模态框交互**:流畅的用户体验 ## 快速开始 ### 1. 环境要求 - JDK 8+ - Maven 3.6+ - MySQL 8.0+ - Tomcat 8.5+ ### 2. 数据库配置 修改 `src/main/resources/db.properties` 文件中的数据库配置: ```properties db.driver=com.mysql.cj.jdbc.Driver db.url=jdbc:mysql://localhost:3306/thesis_db?useSSL=false&serverTimezone=Asia/Shanghai db.username=root db.password=你的密码 ``` ### 3. 初始化数据库 执行 `src/main/resources/schema.sql` 脚本初始化数据库和测试数据。 ### 4. 编译项目 ```bash mvn clean package ``` ### 5. 部署运行 将生成的 `research-admin/target/research-admin.war` 复制到 Tomcat 的 webapps 目录,启动 Tomcat。 或者直接运行(需要配置好 Tomcat Maven 插件): ```bash mvn tomcat7:run ``` ### 6. 访问系统 打开浏览器访问:http://localhost:8080/research-admin/ ## 测试账号 | 角色 | 用户名 | 密码 | |------|--------|------| | 管理员 | admin | 123456 | | 教师 | teacher1 | 123456 | | 学生 | student1 | 123456 | ## 项目结构 ``` research-admin/ ├── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── research/ │ │ ├── entity/ # 实体类 │ │ ├── dao/ # 数据访问层 │ │ ├── service/ # 业务逻辑层 │ │ ├── servlet/ # 控制器层 │ │ └── util/ # 工具类 │ ├── resources/ │ │ ├── mapper/ # MyBatis映射文件 │ │ ├── schema.sql # 数据库初始化脚本 │ │ ├── mybatis-config.xml # MyBatis配置 │ │ └── db.properties # 数据库配置 │ └── webapp/ │ ├── WEB-INF/ │ │ └── web.xml # Web配置 │ └── static/ │ ├── css/ # 样式文件 │ ├── js/ # JavaScript文件 │ ├── index.html # 登录页面 │ └── app.html # 主应用页面 └── pom.xml # Maven配置 ``` ## 数据库设计 ### 表结构 - **user**: 用户表(管理员、教师、学生) - **thesis**: 课题表 - **selection**: 选题记录表 - **progress**: 进度记录表 - **notification**: 通知表 ## 开发说明 ### API 接口 | 接口 | 方法 | 说明 | |------|------|------| | /api/auth/login | POST | 用户登录 | | /api/auth/logout | POST | 用户登出 | | /api/auth/current | GET | 获取当前用户 | | /api/users/list | GET | 获取用户列表 | | /api/projects/list | GET | 获取课题列表 | | /api/projects/add | POST | 添加课题 | | /api/selections/list | GET | 获取选题列表 | | /api/selections/select | POST | 学生选题 | | /api/selections/audit | PUT | 教师审核 | | /api/dashboard | GET | 获取统计数据 | | /api/notifications/list | GET | 获取通知列表 | ## 许可证 MIT License