# exam-practice **Repository Path**: consuy1382/exam-practice ## Basic Information - **Project Name**: exam-practice - **Description**: 题库小程序 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-08 - **Last Updated**: 2026-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 考试练习系统 (Exam Practice) 基于 RuoYi-Vue-Plus 框架开发的企业级考试练习管理系统,支持题库管理、AI智能出题、在线练习、学习统计等功能。 ## 项目简介 本项目是一个完整的考试练习系统,提供后台管理端和微信小程序端双端支持。系统采用Spring Boot + MyBatis-Plus后端架构,支持多租户、分布式缓存、异步任务等企业级特性。 ## 核心功能 ### 管理员功能 - **题库管理**:支持题目的增删改查、批量导入导出、分类管理 - **AI出题**:集成大语言模型,智能生成题目,支持人工复核 - **分类管理**:多级题目分类树形结构管理 - **数据统计**:多维度数据看板,展示题目分布、用户学习情况等 - **题目反馈处理**:处理用户提交的题目错误报告 - **用户学习统计**:跟踪用户学习进度和正确率 ### 用户功能(微信小程序端) - **在线练习**:随机抽题、分类练习、错题复习 - **答题记录**:记录每次练习的答题情况 - **错题本**:自动收集答错题目,支持反复练习 - **收藏功能**:收藏重要题目便于复习 - **学习统计**:查看个人学习数据统计 ## 技术栈 ### 后端技术 - **核心框架**:Spring Boot 3.x - **数据库**:MySQL + Redis(Redisson) - **ORM框架**:MyBatis-Plus - **安全框架**:Sa-Token - **任务调度**:SnailJob - **API文档**:SpringDoc OpenAPI 3 - **加密组件**:hutool-crypto ### 前端技术 - **框架**:Vue 3 + Element Plus - **状态管理**:Pinia - **图表库**:ECharts ## 项目结构 ``` RuoYi-Vue-Plus/ ├── ruoyi-admin/ # 主启动模块 │ └── src/main/java/org/dromara/ │ ├── web/controller/ # 控制器层 │ └── DromaraApplication.java ├── ruoyi-common/ # 公共模块 │ ├── ruoyi-common-core/ # 核心工具类 │ ├── ruoyi-common-mybatis/ # MyBatis增强 │ ├── ruoyi-common-redis/ # Redis封装 │ ├── ruoyi-common-satoken/ # 权限控制 │ ├── ruoyi-common-web/ # Web增强 │ └── ruoyi-common-*/ # 其他功能模块 ├── ruoyi-modules/ # 业务模块 │ └── ruoyi-exam/ # 考试模块 │ └── src/main/java/org/dromara/exam/ │ ├── controller/ # 接口层 │ ├── domain/ # 实体与DTO │ ├── mapper/ # 数据访问 │ ├── service/ # 业务逻辑 │ └── questiontype/ # 题型处理 └── ruoyi-extend/ # 扩展模块 ├── ruoyi-monitor-admin/ # 监控中心 └── ruoyi-snailjob-server/ # 任务调度 ``` ## 快速开始 ### 环境要求 - JDK 17+ - MySQL 8.0+ - Redis 6.0+ - Maven 3.6+ ### 数据库配置 1. 创建数据库并执行初始化脚本 2. 配置 `application.yml` 中的数据库连接信息 ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/exam_practice username: root password: your_password ``` ### 启动步骤 1. 编译项目: ```bash mvn clean install -DskipTests ``` 2. 启动主服务: ```bash cd ruoyi-admin mvn spring-boot:run ``` 3. 访问系统: - 管理后台:http://localhost:8080 - API文档:http://localhost:8080/doc.html ### 微信小程序配置 在 `application.yml` 中配置小程序信息: ```yaml wx: miniapp: appid: your_appid secret: your_secret jsCode2SessionUrl: https://api.weixin.qq.com/sns/jscode2session ``` ## 题型支持 系统支持多种题型,满足不同考试场景需求: | 题型 | 代码 | 分类 | 说明 | |------|------|------|------| | 单选题 | 1 | 客观题 | 标准单选 | | 多选题 | 2 | 客观题 | 多选判分 | | 判断题 | 3 | 客观题 | 对错判断 | | 填空题 | 4 | 主观题 | 关键词匹配 | | 问答题 | 5 | 主观题 | AI辅助评分 | | 论述题 | 6 | 主观题 | AI辅助评分 | | 计算题 | 7 | 主观题 | AI辅助评分 | | 证明题 | 8 | 主观题 | AI辅助评分 | | 应用题 | 9 | 主观题 | AI辅助评分 | ## API文档 系统提供完整的RESTful API文档,通过Swagger 3渲染。 ### 主要接口 **认证接口** - `POST /auth/login` - 账号密码登录 - `POST /auth/register` - 用户注册 **题目管理** - `GET /exam/question/list` - 分页查询题目 - `POST /exam/question` - 新增题目 - `PUT /exam/question` - 修改题目 - `DELETE /exam/question/{ids}` - 删除题目 - `POST /exam/question/import` - 导入题目 - `POST /exam/question/export` - 导出题目 **AI任务** - `GET /exam/ai/task/list` - AI出题任务列表 - `POST /exam/ai/task` - 创建AI出题任务 - `PUT /exam/ai/task/review/{taskId}` - 人工复核 **用户练习(小程序端)** - `POST /wx/practice/paper` - 生成练习卷 - `GET /wx/practice/question/{questionId}` - 获取题目 - `POST /wx/practice/submit` - 提交答案 - `GET /wx/wrong/list` - 错题列表 ## 许可证 本项目基于 [MIT License](LICENSE) 开源。 ## 交流与支持 如有问题或建议,欢迎提交 Issue 或联系项目维护者。