# 智能在线考试系统(作业版)
**Repository Path**: com_hike_wang/AI-SOES
## Basic Information
- **Project Name**: 智能在线考试系统(作业版)
- **Description**: 智能在线考试系统(作业版),为教育机构提供在线作业提交、自动评分及反馈的完整解决方案,支持多种题型和灵活配置。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-01-28
- **Last Updated**: 2026-01-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# AI-SOES: 智能在线考试系统
[](https://github.com/your-username/AI-SOES)
[](LICENSE)
[](https://python.org)
[](https://vuejs.org)
[](https://docs.djangoproject.com)
[](https://www.typescriptlang.org)
[](./TESTING_DOCUMENTATION.md)
[](./DEPLOYMENT_GUIDE.md)
**🎯 AI-powered Smart Online Examination System - v1.3.0 ✅**
基于人工智能的现代化在线考试解决方案,集成智能出题、AI评分和个性化学习分析功能
[🚀 快速开始](#-快速开始) • [✨ 功能特性](#-功能特性) • [📚 文档](#-文档) • [🧪 测试体系](#-测试体系) • [🛠️ 部署指南](#️-部署指南) • [🤝 贡献指南](#-贡献指南)
## 🌟 项目简介
AI-SOES (Artificial Intelligence Smart Online Examination System) 是一个功能完整、技术先进的**智能在线考试系统**。项目已开发完成 (v1.3.0),集成了现代化的人工智能技术,为教育机构和企业提供全面的在线考核解决方案。
### 🎯 设计目标
- **🤖 智能化考试管理** - 利用 Claude AI 自动生成高质量试题
- **📊 个性化学习体验** - AI 驱动的学习分析和智能推荐
- **⚡ 高效评分系统** - 自动评分与 AI 辅助人工审核相结合
- **🔒 全面监控保障** - 多维度考试监督确保公平性
- **🚀 高性能架构** - 支持大规模并发使用,响应迅速
## ✨ 核心特性
### 🤖 AI智能功能 (v1.3.0 新增)
- **🧠 智能题目生成**: 基于 Claude API 的多学科题目生成
- 支持选择题、填空题、简答题等多种题型
- 可调节难度级别 (简单/中等/困难)
- 批量生成和智能预览功能
- **🎯 AI评分助手**: 智能主观题评分系统
- 自动语义分析和相似度计算
- 详细评分反馈和改进建议
- 支持批量评分处理
- **📈 学习分析平台**: 个性化学习推荐系统
- 学习轨迹分析和薄弱点识别
- 智能练习推荐和学习路径规划
- 可视化学习报告生成
### 🎓 考试系统功能
- **📝 多样化题型**: 支持选择、填空、简答、编程等多种题型
- **⚡ 实时评分**: 即时自动评分与详细反馈
- **🔒 安全监考**: 智能防作弊与行为分析
- **📊 数据分析**: 考试数据统计与可视化分析
- **👥 角色管理**: 学生、教师、管理员多角色权限控制
### 🖥️ 技术特性
- **🎨 现代化界面**: Vue 3 + TypeScript + Element Plus
- **📱 响应式设计**: 完美适配桌面、平板、手机
- **🚀 高性能架构**: 前后端分离,API 优化
- **🛡️ 安全可靠**: JWT 认证,数据加密,防作弊机制
## 🏗️ 技术架构
### 系统架构图
```mermaid
graph TB
subgraph "前端层"
A[Vue 3 + TypeScript]
B[Element Plus UI]
C[Vite构建工具]
D[响应式设计]
end
subgraph "API网关层"
E[Django REST Framework]
F[JWT认证]
G[API路由]
H[中间件]
end
subgraph "业务逻辑层"
I[用户管理]
J[题库管理]
K[考试管理]
L[评分系统]
M[AI集成]
end
subgraph "AI服务层"
N[Claude API集成]
O[智能出题]
P[AI评分]
Q[学习分析]
end
subgraph "数据存储层"
R[SQLite/PostgreSQL]
S[Redis缓存]
T[文件存储]
end
A --> E
B --> E
C --> E
D --> E
E --> I
E --> J
E --> K
E --> L
E --> M
M --> N
M --> O
M --> P
M --> Q
I --> R
J --> R
K --> R
L --> R
M --> S
K --> T
```
### 技术栈概览
| 类别 | 技术 | 版本 | 说明 |
|------|------|------|------|
| **前端** | Vue.js | 3.4+ | 渐进式JavaScript框架 |
| | TypeScript | 5.0+ | 类型安全的JavaScript |
| | Element Plus | 2.4+ | Vue 3 UI组件库 |
| | Vite | 5.0+ | 现代前端构建工具 |
| | Pinia | 2.0+ | 现代化状态管理 |
| **后端** | Django | 4.2+ | Python Web框架 |
| | DRF | 3.14+ | Django REST Framework |
| | Python | 3.9+ | 后端编程语言 |
| **AI服务** | Claude API | 3.0+ | AI智能服务 |
| | OpenAI API | 集成 | 备用AI服务 |
| **数据库** | SQLite | 3.40+ | 开发环境数据库 |
| | PostgreSQL | 13+ | 生产环境数据库 |
| | Redis | 6.0+ | 缓存和会话存储 |
| **部署** | Nginx | 1.18+ | 反向代理服务器 |
| | Gunicorn | 21.0+ | WSGI服务器 |
| | Docker | 20.0+ | 容器化部署 |
## 🚀 快速开始
### 📋 环境要求
确保您的系统已安装以下软件:
- **Python**: 3.9+ (推荐 3.11)
- **Node.js**: 16.0+ (推荐 18.x)
- **npm**: 7.0+ 或 **yarn**: 1.22+
- **Git**: 2.30+
- **操作系统**: Windows 10+, macOS 10.15+, Ubuntu 18.04+
### ⚡ 一键启动 (推荐)
#### Windows 用户 (🎯 主要支持平台)
```batch
# 1. 克隆项目
git clone https://github.com/your-username/AI-SOES.git
cd AI-SOES
# 2. 一键启动 (推荐)
.\scripts\start-mysql-final.bat
# 3. 访问系统
# 前端: http://localhost:3001
# 后端: http://localhost:8000
```
#### 快速体验
```batch
# 仅启动前端 (如果后端已运行)
.\scripts\start-frontend.bat
# 检查环境配置
.\scripts\check-env.bat
```
> ⚠️ **重要**: 本项目专为Windows环境优化,不支持Linux/macOS部署
### 🔧 手动启动
如果需要手动配置,请按以下步骤:
#### 1. 克隆项目
```bash
git clone https://github.com/your-username/AI-SOES.git
cd AI-SOES
```
#### 2. 后端设置
```bash
# 进入后端目录
cd backend
# 创建并激活虚拟环境
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/macOS
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 应用数据库迁移
python manage.py migrate
# 创建超级管理员账户
python manage.py createsuperuser
# 启动后端服务
python manage.py runserver 0.0.0.0:8000
```
#### 3. 前端设置
```bash
# 新终端进入前端目录
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
### 🌐 访问应用
服务启动成功后,您可以通过以下地址访问:
| 功能 | 访问地址 | 说明 |
|------|----------|------|
| **🎯 主应用** | http://localhost:3001 | 用户登录和使用 |
| **⚙️ 管理后台** | http://localhost:8000/admin | Django管理界面 |
| **📚 API文档** | http://localhost:8000/api/docs | Swagger文档 |
### 🔑 默认账户信息
| 角色 | 用户名 | 密码 | 快速登录 |
|------|--------|------|----------|
| **管理员** | admin | admin123456 | 点击"管理员"按钮 |
| **教师** | teacher | teacher123456 | 点击"教师"按钮 |
| **学生** | student | student123456 | 点击"学生"按钮 |
> 💡 **提示**: 开发环境提供快速登录按钮,生产环境请禁用此功能
## 🧪 测试体系
AI-SOES拥有完整的软件质量保障体系,包含535+个测试用例,覆盖所有核心功能模块:
### 📊 测试覆盖率
- **后端覆盖率**: 82.5% (pytest + Django)
- **前端覆盖率**: 73.2% (Vitest + Vue Test Utils)
- **E2E测试**: 25个用例 (Playwright)
- **自动化程度**: 95%+
### 🔧 测试框架
- **后端**: pytest + Factory Boy + Faker
- **前端**: Vitest + jsdom + MSW
- **E2E**: Playwright (Chrome, Firefox, Safari)
- **性能**: 组件渲染、API响应、内存监控
### 🚀 运行测试
```bash
# 后端测试
cd backend
pytest -v --cov=apps
# 前端测试
cd frontend
npm run test:coverage
# E2E测试
npm run test:e2e
```
详细测试信息请查看 [**📋 测试文档**](./TESTING_DOCUMENTATION.md)
## 📚 项目文档
### 🎯 核心文档 (项目根目录)
- [**📖 用户使用指南**](./USER_GUIDE.md) - 完整的系统使用说明 (15,000+字)
- [**🚀 5分钟快速启动**](./QUICK_START.md) - 快速上手指南
- [**🏭 部署指南**](./DEPLOYMENT_GUIDE.md) - 生产环境部署方案 (20,000+字)
- [**🧪 测试文档**](./TESTING_DOCUMENTATION.md) - 完整测试体系说明
### 📋 技术文档
- [**📖 完整文档体系**](./docs/README.md) - 37个文档,170,000+字完整文档库
- [**🛠️ 开发环境配置**](./docs/development/CLAUDE.md) - 详细开发环境和流程指南
- [**📋 任务规划**](./docs/development/PLAN.md) - 项目路线图和里程碑
- [**🎯 项目架构**](./docs/) - 详细技术架构说明
## 🛠️ 部署指南
### 🎯 Windows环境部署 (推荐)
本项目专为Windows环境优化,支持多种部署模式:
| 部署模式 | 适用场景 | 复杂度 | 推荐指数 |
|----------|----------|--------|----------|
| **开发模式** | 开发测试 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| **单机部署** | 小型机构 | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| **Docker部署** | 中型机构 | ⭐⭐⭐⭐ | ⭐⭐⭐ |
### ⚡ 快速部署 (5分钟)
```batch
# 克隆并启动
git clone
cd AI-SOES
.\scripts\start-mysql-final.bat
# 访问系统
http://localhost:3001
```
### 🏭 生产环境部署
详细的企业级部署方案请参考 [**🏭 部署指南**](./DEPLOYMENT_GUIDE.md) (20,000+字)
包含以下内容:
- ✅ 四种部署模式详细对比
- ✅ 硬件配置和环境要求
- ✅ MySQL数据库配置和优化
- ✅ Nginx反向代理和SSL配置
- ✅ Docker容器化部署
- ✅ 性能优化和安全配置
- ✅ 监控维护和备份策略
## 📁 项目结构
```
AI-SOES/ # 项目根目录
│
├── 📚 文档体系 (新增)
│ ├── USER_GUIDE.md # 用户使用指南 (15,000+字) ✅
│ ├── TESTING_DOCUMENTATION.md # 测试体系文档 (15,000+字) ✅
│ ├── DEPLOYMENT_GUIDE.md # 部署指南 (20,000+字) ✅
│ ├── QUICK_START.md # 5分钟快速启动 ✅
│ └── README.md # 项目说明 (本文件) ✅
│
├── 🎯 后端服务 (Django + DRF)
│ ├── apps/ # 应用模块
│ │ ├── users/ # 用户管理 ✅
│ │ ├── question_bank/ # 题库管理 ✅
│ │ ├── exam_paper/ # 试卷管理 ✅
│ │ ├── examination/ # 考试管理 ✅
│ │ ├── grading/ # 评分系统 ⚠️
│ │ └── ai_integration/ # AI集成 ⚠️
│ ├── tests/ # 后端测试体系 ✅
│ │ ├── test_users/ # 用户模块测试
│ │ ├── test_question_bank/ # 题库模块测试
│ │ ├── test_examination/ # 考试模块测试
│ │ └── test_ai_integration/ # AI模块测试
│ ├── pytest.ini # pytest配置 ✅
│ ├── requirements.txt # Python依赖 (含测试) ✅
│ └── manage.py # Django管理脚本
│
├── 🎨 前端应用 (Vue 3 + TypeScript)
│ ├── src/ # 源代码
│ │ ├── views/ # 页面组件
│ │ ├── components/ # 公共组件
│ │ ├── stores/ # Pinia状态管理
│ │ ├── api/ # API接口
│ │ └── utils/ # 工具函数
│ ├── tests/ # 前端测试体系 ✅
│ │ ├── e2e/ # 端到端测试 (Playwright)
│ │ ├── performance/ # 性能测试
│ │ └── src/__tests__/ # 单元测试 (Vitest)
│ ├── playwright.config.ts # E2E测试配置 ✅
│ ├── vitest.config.ts # 单元测试配置 ✅
│ └── package.json # 前端依赖 (含测试) ✅
│
└── 🛠️ 开发工具
├── scripts/ # Windows批处理脚本 ✅
├── CLAUDE.md # 开发环境配置指南 ✅
└── PLAN.md # 项目规划和里程碑 ✅
```
### 🔑 关键特性说明
#### ✅ 已完成功能 (v1.3.0)
- **用户认证系统**: JWT + 多角色权限控制
- **题库管理系统**: 题目CRUD + 批量导入 + 分类标签
- **试卷管理系统**: 智能组卷 + 难度控制 + 模板管理
- **考试执行系统**: 在线考试 + 防作弊监控 + 实时保存
- **成绩管理系统**: 自动评分 + 统计分析 + 导出报告
- **测试体系**: 535+测试用例,覆盖率80%+
- **文档体系**: 完整的用户和部署文档
#### ⚠️ 临时禁用功能
- **AI集成模块**: 因Windows编码问题临时禁用 (v1.4恢复)
- **智能阅卷系统**: 因Windows编码问题临时禁用 (v1.4恢复)
## 🤝 贡献指南
### 开发流程
1. **Fork** 项目到你的GitHub账户
2. **创建功能分支** (`git checkout -b feature/AmazingFeature`)
3. **提交更改** (`git commit -m 'Add some AmazingFeature'`)
4. **推送到分支** (`git push origin feature/AmazingFeature`)
5. **创建Pull Request**
### 代码规范
- **Python**: 遵循 [PEP 8](https://pep8.org/) 规范,使用 Black 进行代码格式化
- **TypeScript**: 使用 ESLint + Prettier 进行代码格式化和规范检查
- **Vue 3**: 遵循 Vue.js 官方风格指南
- **Git**: 使用 [Conventional Commits](https://conventionalcommits.org/) 规范
### 提交信息格式
```
():