项目结构
smart-question-bank/
├── backend/ # 后端服务
│ ├── src/ # 源代码目录
│ │ ├── common/ # 公共模块
│ │ │ ├── constants.py # 常量定义
│ │ │ └── exceptions.py # 异常定义
│ │ ├── exception/ # 异常处理
│ │ │ ├── api_exception.py # API异常
│ │ │ ├── business_exception.py # 业务异常
│ │ │ └── handler.py # 异常处理器
│ │ ├── models/ # 数据模型
│ │ │ ├── base_model.py # 基础模型
│ │ │ ├── user.py # 用户模型
│ │ │ ├── question.py # 题目模型
│ │ │ ├── practice_record.py # 练习记录模型
│ │ │ ├── knowledge_point.py # 知识点模型
│ │ │ ├── exam_score.py # 考试成绩模型
│ │ │ ├── learning_path.py # 学习路径模型
│ │ │ ├── question_version.py # 题目版本模型
│ │ │ ├── question_review.py # 题目审核模型
│ │ │ ├── question_tag.py # 题目标签模型
│ │ │ ├── wrong_question.py # 错题模型
│ │ │ ├── wrong_question_reason.py # 错题原因模型
│ │ │ ├── wrong_question_tag.py # 错题标签模型
│ │ │ ├── learning_goal.py # 学习目标模型
│ │ │ ├── learning_style.py # 学习风格模型
│ │ │ ├── target_score.py # 目标分数模型
│ │ │ ├── exam.py # 考试模型
│ │ │ ├── exam_analysis.py # 考试分析模型
│ │ │ ├── learning_progress.py # 学习进度模型
│ │ │ ├── knowledge_graph.py # 知识图谱模型
│ │ │ ├── difficulty_assessment.py # 难度评估模型
│ │ │ ├── question_recommendation.py # 题目推荐模型
│ │ │ ├── adaptive_learning.py # 自适应学习模型
│ │ ├── store/ # 数据持久层
│ │ │ ├── user_store.py # 用户数据操作
│ │ │ ├── question_store.py # 题目数据操作
│ │ │ ├── practice_store.py # 练习数据操作
│ │ │ ├── knowledge_store.py # 知识点数据操作
│ │ │ ├── exam_store.py # 考试数据操作
│ │ │ ├── learning_path_store.py # 学习路径数据操作
│ │ │ ├── wrong_question_store.py # 错题数据操作
│ │ │ ├── learning_goal_store.py # 学习目标数据操作
│ │ │ ├── learning_style_store.py # 学习风格数据操作
│ │ │ ├── target_score_store.py # 目标分数数据操作
│ │ │ ├── exam_analysis_store.py # 考试分析数据操作
│ │ │ ├── learning_progress_store.py # 学习进度数据操作
│ │ │ ├── knowledge_graph_store.py # 知识图谱数据操作
│ │ │ ├── difficulty_assessment_store.py # 难度评估数据操作
│ │ │ ├── question_recommendation_store.py # 题目推荐数据操作
│ │ │ └── adaptive_learning_store.py # 自适应学习数据操作
│ │ ├── services/ # 业务逻辑
│ │ │ ├── auth_service.py # 认证服务
│ │ │ ├── question_service.py # 题目服务
│ │ │ ├── practice_service.py # 练习服务
│ │ │ ├── analysis_service.py # 分析服务
│ │ │ ├── exam_service.py # 考试服务
│ │ │ ├── learning_path_service.py # 学习路径服务
│ │ │ ├── wrong_question_service.py # 错题服务
│ │ │ ├── learning_goal_service.py # 学习目标服务
│ │ │ ├── learning_style_service.py # 学习风格服务
│ │ │ ├── target_score_service.py # 目标分数服务
│ │ │ ├── exam_analysis_service.py # 考试分析服务
│ │ │ ├── learning_progress_service.py # 学习进度服务
│ │ │ ├── knowledge_graph_service.py # 知识图谱服务
│ │ │ ├── difficulty_assessment_service.py # 难度评估服务
│ │ │ ├── question_recommendation_service.py # 题目推荐服务
│ │ │ └── adaptive_learning_service.py # 自适应学习服务
│ │ ├── controllers/ # API控制器
│ │ │ ├── auth_controller.py # 认证接口
│ │ │ ├── question_controller.py # 题目接口
│ │ │ ├── practice_controller.py # 练习接口
│ │ │ ├── analysis_controller.py # 分析接口
│ │ │ ├── exam_controller.py # 考试接口
│ │ │ ├── learning_path_controller.py # 学习路径接口
│ │ │ ├── wrong_question_controller.py # 错题接口
│ │ │ ├── learning_goal_controller.py # 学习目标接口
│ │ │ ├── learning_style_controller.py # 学习风格接口
│ │ │ ├── target_score_controller.py # 目标分数接口
│ │ │ ├── exam_analysis_controller.py # 考试分析接口
│ │ │ ├── learning_progress_controller.py # 学习进度接口
│ │ │ ├── knowledge_graph_controller.py # 知识图谱接口
│ │ │ ├── difficulty_assessment_controller.py # 难度评估接口
│ │ │ ├── question_recommendation_controller.py # 题目推荐接口
│ │ │ └── adaptive_learning_controller.py # 自适应学习接口
│ │ ├── middleware/ # 中间件
│ │ │ ├── auth_middleware.py # 认证中间件
│ │ │ ├── logging_middleware.py # 日志中间件
│ │ │ ├── error_middleware.py # 错误处理中间件
│ │ │ ├── request_handler.py # 请求处理中间件(合并请求校验、转换、过滤等功能)
│ │ │ ├── response_handler.py # 响应处理中间件(合并响应格式化、压缩、加密等功能)
│ │ │ ├── performance_monitor.py # 性能监控中间件(合并性能、指标、响应时间等)
│ │ │ ├── security_middleware.py # 安全中间件(合并限流、权限、CORS等)
│ │ │ └── tracing_middleware.py # 追踪中间件(合并请求ID、日志、追踪等)
│ │ ├── config/ # 配置文件
│ │ │ ├── config_loader.py # 配置加载器。加载环境变量和配置文件,环境变量优先级高于配置文件
│ │ │ ├── application.yml # 主配置文件
│ │ │ ├── application-dev.yml # 开发环境配置
│ │ │ ├── application-prod.yml # 生产环境配置
│ │ │ └── application-test.yml # 测试环境配置
│ │ ├── database/ # 数据库相关
│ │ │ ├── connection/ # 数据库连接
│ │ │ │ └── mysql.py # MySQL连接
│ │ │ ├── migration/ # 数据库迁移
│ │ │ │ ├── alembic.ini # Alembic配置
│ │ │ │ └── versions/ # 迁移脚本
│ │ │ └── utils/ # 数据库工具
│ │ │ ├── query_builder.py # 查询构建器
│ │ │ └── pagination.py # 分页工具
│ │ ├── utils/ # 工具类
│ │ │ ├── logger.py # 日志配置
│ │ │ ├── date/ # 日期相关
│ │ │ │ ├── date_util.py # 日期工具
│ │ │ │ └── timezone.py # 时区处理
│ │ │ ├── string/ # 字符串处理
│ │ │ │ ├── string_util.py # 字符串工具
│ │ │ │ └── validator.py # 字符串验证
│ │ │ ├── file/ # 文件处理
│ │ │ │ ├── file_util.py # 文件工具
│ │ │ │ └── storage.py # 文件存储
│ │ │ └── network/ # 网络相关
│ │ │ ├── request.py # 请求工具
│ │ │ └── ip_util.py # IP工具
│ │ ├── tests/ # 测试相关
│ │ │ ├── unit/ # 单元测试
│ │ │ │ ├── models/ # 模型测试
│ │ │ │ ├── services/ # 服务测试
│ │ │ │ └── utils/ # 工具测试
│ │ │ ├── integration/ # 集成测试
│ │ │ │ ├── api/ # API测试
│ │ │ │ └── database/ # 数据库测试
│ │ │ ├── fixtures/ # 测试夹具
│ │ │ │ ├── data/ # 测试数据
│ │ │ │ └── mocks/ # Mock数据
│ │ │ └── e2e/ # 端到端测试
│ │ │ ├── api/ # API端到端测试
│ │ │ └── web/ # Web端到端测试
│ ├── requirements.txt # 依赖包列表
│ └── Dockerfile # Docker配置
├── frontend/ # 前端应用
│ ├── public/ # 静态资源
│ │ ├── index.html # 主页面
│ │ ├── favicon.ico # 网站图标
│ │ └── robots.txt # 爬虫协议
│ ├── src/ # 源代码目录
│ │ ├── assets/ # 静态资源
│ │ │ ├── images/ # 图片资源
│ │ │ ├── fonts/ # 字体文件
│ │ │ └── styles/ # 全局样式
│ │ ├── components/ # 通用组件
│ │ │ ├── Header.vue # 头部组件
│ │ │ ├── Footer.vue # 底部组件
│ │ │ ├── QuestionCard.vue # 题目卡片
│ │ │ └── ProgressChart.vue # 进度图表
│ │ ├── views/ # 页面视图
│ │ │ ├── Home.vue # 首页
│ │ │ ├── Practice.vue # 练习页面
│ │ │ ├── Analysis.vue # 分析页面
│ │ │ └── Profile.vue # 个人中心
│ │ ├── router/ # 路由配置
│ │ │ └── index.js # 路由配置
│ │ ├── store/ # 状态管理
│ │ │ ├── modules/ # 模块
│ │ │ │ ├── auth.js # 认证模块
│ │ │ │ ├── question.js # 题目模块
│ │ │ │ └── practice.js # 练习模块
│ │ │ └── index.js # 状态管理入口
│ │ ├── api/ # API接口
│ │ │ ├── auth.js # 认证接口
│ │ │ ├── question.js # 题目接口
│ │ │ └── practice.js # 练习接口
│ │ ├── utils/ # 工具函数
│ │ │ ├── request.js # 请求封装
│ │ │ ├── date.js # 日期工具
│ │ │ └── validate.js # 验证工具
│ │ ├── styles/ # 全局样式
│ │ │ ├── variables.scss # 样式变量
│ │ │ ├── mixins.scss # 样式混合
│ │ │ └── global.scss # 全局样式
│ │ └── main.js # 程序入口
│ ├── tests/ # 测试目录
│ │ ├── unit/ # 单元测试
│ │ ├── integration/ # 集成测试
│ │ └── e2e/ # 端到端测试
│ ├── package.json # 项目配置
│ ├── vue.config.js # Vue配置
│ └── Dockerfile # Docker配置
├── docs/ # 文档目录
│ ├── api/ # API文档
│ └── design/ # 设计文档
├── scripts/ # 脚本目录
│ ├── deploy/ # 部署脚本
│ ├── migration/ # 数据迁移脚本
│ │ ├── migrations/ # 迁移文件目录
│ │ ├── __init__.py # 初始化文件
│ │ ├── alembic.ini # Alembic 配置文件
│ │ └── env.py # Alembic 环境配置
├── docker-compose.yml # Docker Compose配置
├── README.md # 项目说明
└── .gitignore # Git忽略配置