PROJECT_STRUCTURE.md 12 KB

项目结构

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忽略配置