# IELTS AI Learn **Repository Path**: se2023/ielts-ai-learn ## Basic Information - **Project Name**: IELTS AI Learn - **Description**: 雅思自定义模拟考试平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-19 - **Last Updated**: 2026-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IELTS AI Learn ## 项目名称 IELTS AI Learn ## 立项概述 - 本项目旨在构建一个覆盖雅思学习全流程的 AI 助学平台,支持试卷上传解析、在线答题判分、错题管理与词书学习。 - 借助普通/精准两类大模型解析,实现对 PDF/DOCX/图片等多源材料的结构化抽取与题目生成,提升备考效率。 - 后端采用模块化分工与穿插式提交策略,确保各模块独立演进与解耦协作;前端采用现代化工程化栈,保证体验与可维护性。 - 预期成果:提供稳定可用的学习平台原型,具备题库管理、解析、判分、错题本与词书等核心能力,并预留性能与扩展空间。 ## 需求清单 - 认证与权限:注册、登录、JWT 鉴权、用户隔离。 - 试卷管理:试卷上传、列表/详情/题目查询、删除;题目按题号排序。 - AI 解析:普通解析(文本 Prompt)、精准解析(图片/多图);解析容错与 JSON 修复。 - 异步任务:文件/图片解析后台处理,状态与错误信息回传。 - 判分与记录:提交答题、客观题比对、Band 分映射、考试记录与历史详情。 - 错题管理:错题自动入库、查询与复习。 - 词书与学习:词书 CRUD、生词与学习打卡、完形填空等能力。 - 配置与安全:敏感配置走环境变量;统一异常处理与权限校验。 - 性能与稳定:并发解析控制、接口超时与重试、基础压测指标跟踪。 ## 开发选型与运行环境 - 后端 - 语言:Java 21 - Web 服务器:Spring Boot 内嵌 Tomcat 10.1+(对标图示 tomcat 11) - 数据库服务器:MySQL 8 - 构建工具:Maven Wrapper 3.3.0 + Apache Maven 3.9.6 - 前端 - Node.js 18+、Vite 5、Vue 3、Element Plus、Axios、Pinia - 其他 - 操作系统:Windows/macOS/Linux - JDK:21 ## 构建工具 - maven-wrapper-3.3.0.jar - apache-maven-3.9.6-bin.zip ## 成员及分工说明 | 角色 | 姓名 | 学号 | 班级 | 分工简介 | |---|---|---|---|---| | 组长 | 尹浩然 | 202310414302 | 软件工程3班 | 模块四负责人,精准解析、文件提取与异步任务总体统筹 | | 组员1 | 唐俊杰 | 202310414319 | 软件工程3班 | 模块一负责人,认证与安全、用户中心 | | 组员2 | 尹博 | 202310830211 | 软件工程3班 | 模块二负责人,试卷管理与上传入口 | | 组员3 | 吴联朕 | 202310414304 | 软件工程3班 | 模块三负责人,普通 AI 文本解析与后处理 | | 组员4 | 王恩杰 | 202310414307 | 软件工程3班 | 模块五负责人,答题判分、考试记录、错题本与试卷集 | | 组员5 | 蒋桐 | 202310414312 | 软件工程3班 | 模块六负责人,词书、生词、完形填空与学习打卡 | ## 项目结构 ```text ielts-ai-learn ├── backend # Spring Boot 后端初始化工程 ├── frontend # Vite Vue 前端初始化工程 └── docs # 初始化架构与关系说明 ``` ## 后端 说明:统一在“开发选型与运行环境”列出技术栈,此处不再重复。以下为当前能力与目录要点。 - 能力与进度(概览):认证与安全、试卷管理、普通 AI 解析与容错、异步解析编排、答题提交接口骨架。 - 主要目录:`backend/src/main/java`、`backend/src/main/resources`、`backend/src/main/resources/db`。 已初始化: - Maven 配置 - 应用启动类 - 数据库连接配置 - Entity - Mapper - 数据库建表脚本 建表脚本: ```text backend/src/main/resources/db/schema.sql ``` ## 前端 说明:统一在“开发选型与运行环境”列出技术栈,此处不再重复。以下为当前页面与能力要点。 已初始化: - Vite 配置 - Vue 应用入口 - Vue Router 路由配置 - Pinia 认证状态管理 - Element Plus 组件库接入 - Axios 请求封装 - 登录页面 - 注册页面 - 模块一认证状态页 - 六模块导航壳 - 基础样式 ## 快速开始 1) 数据库与配置 - 准备 MySQL 8,创建数据库(示例:`ielts_ai_learn`)。 - 根据需要配置 `backend/src/main/resources/application.yml` 数据源信息。 - AI 配置(环境变量优先): - `DEEPSEEK_API_KEY`(必填) - `DEEPSEEK_BASE_URL`(默认 https://api.deepseek.com) - `DEEPSEEK_MODEL`(默认 deepseek-chat) - 超时、最大 tokens、文本截断等参数支持环境变量覆盖。 2) 启动后端 - 在 `backend` 目录执行:`./mvnw spring-boot:run`(Windows 使用 `mvnw.cmd spring-boot:run`)。 3) 启动前端 - 在 `frontend` 目录安装依赖并启动:`npm install && npm run dev`。 - 或使用 `pnpm`/`yarn` 等等价命令。 - 可在 `.env` 中设置 `VITE_API_BASE_URL` 指向后端地址(示例:`http://localhost:8080`)。 ## 模块分工 | 模块 | 负责部分 | |---|---| | 模块一 | 用户认证、安全与公共基础模块 | | 模块二 | 试卷基础管理与上传模块 | | 模块三 | 普通 AI 文本解析与解析后处理模块 | | 模块四 | 精准解析、文件提取与异步任务模块 | | 模块五 | 答题判分、考试记录、错题本与试卷集模块 | | 模块六 | 词书、生词、完形填空与学习打卡模块 | 说明:具体负责人见上文“成员及分工说明”表。 ## 文档 初始化架构说明: ```text docs/initialization-architecture.md ```