# word-forest **Repository Path**: xyy968/word-forest ## Basic Information - **Project Name**: word-forest - **Description**: 单词森林背单词系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-07-11 - **Last Updated**: 2026-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 单词森林(Word Forest)— 趣味背单词系统 ## 项目名称 单词森林(Word Forest) ## 代码仓库链接 https://gitee.com/xyy968/word-forest ## 项目访问地址 | 端 | 访问地址 | 说明 | | --- | --- | --- | | 用户端 | http://localhost:5181 | 面向学生的背单词 Web 应用 | | 管理端 | http://localhost:5173 | 面向管理员的运营后台 | | 后端 API | http://localhost:8080/api | RESTful 接口服务 | ## 项目简介 单词森林是一款面向英语学习者的趣味背单词 Web 应用,以**"每日背词 + 趣味小游戏 + 打卡种树"**为核心闭环,帮助用户通过任务驱动和游戏化激励完成长期词汇积累。 系统内置大学英语四级、六级、雅思、托福等常见考试词库,结合每日打卡、学习任务、游戏化复习和种树成长系统,提升用户的持续学习动力。 ### 核心功能 - **词库系统**:支持四级、六级、雅思、托福词库,按考试类型选择 - **每日背词**:卡片式学习流程,支持发音、例句、掌握程度标记 - **复习系统**:基于遗忘曲线自动安排复习,错词本 / 收藏词专项复习 - **趣味小游戏**:单词配对、拼写挑战、单词消消乐、听音辨词 - **打卡种树**:完成每日任务后打卡种树,12 种精美树种(含 SVG 贴图),5 个成长阶段 - **个人森林**:可视化森林场景,树种图鉴收集 - **等级与奖励**:经验值、金币、成长能量激励体系 - **管理后台**:词库管理、单词管理、用户管理、打卡记录、树种管理 ## 技术栈 ### 后端 | 技术 | 版本 | 用途 | | --- | --- | --- | | Java | 17 | 开发语言 | | Spring Boot | 3.3.5 | 主框架 | | MyBatis-Plus | 3.5.7 | ORM 与分页查询 | | MySQL | 8.x | 数据库 | | JWT (jjwt) | 0.12.6 | 登录鉴权 | | BCrypt | Spring Security Crypto | 密码加密 | | Maven | 3.9.x | 构建工具 | ### 前端(用户端 & 管理端) | 技术 | 用途 | | --- | --- | | Vue 3 | 前端框架 | | TypeScript | 类型约束 | | Vite | 开发服务器与构建 | | Pinia | 状态管理 | | Axios | HTTP 请求 | | Element Plus | 管理端 UI 组件库 | | lucide-vue-next | 用户端图标 | ## 项目结构 ```text word-forest/ ├── backend/ Spring Boot 后端 │ ├── src/main/java/com/wordforest/ │ │ ├── common/ 通用响应与异常处理 │ │ ├── config/ 跨域、MyBatis、初始化配置 │ │ ├── controller/ 接口控制器 │ │ ├── dto/ 请求/响应数据对象 │ │ ├── entity/ 数据库实体 │ │ ├── mapper/ MyBatis-Plus Mapper │ │ ├── security/ JWT 工具 │ │ └── service/ 业务服务 │ ├── src/main/resources/ │ │ └── application.yml 后端配置文件 │ └── pom.xml Maven 配置 ├── admin-web/ 管理端 Vue 项目 │ ├── src/ │ │ ├── api/ Axios 请求封装 │ │ ├── stores/ 管理员登录状态 │ │ └── views/ 页面组件 │ └── package.json ├── user-web/ 用户端 Vue 项目 │ ├── src/ │ │ ├── api/ Axios 请求封装 │ │ ├── stores/ 用户登录状态 │ │ └── views/ 页面组件 │ └── package.json ├── docs/ 文档与说明 ├── tools/ 辅助工具脚本 ├── word-library-templates/ 词库模板与导入脚本 ├── database-import.sql 推荐数据库初始化脚本 ├── database.sql 原始数据库脚本 ├── 需求文档.md 产品需求文档 ├── 技术文档.md 技术架构文档 ├── 开发批次计划.md 分批开发计划 └── README.md 本文件 ``` ## 快速开始 ### 环境要求 - Java 17 - Maven 3.9+ - Node.js 18+ - MySQL 8.x ### 1. 导入数据库 ```bash mysql -u root -p < database-import.sql ``` ### 2. 启动后端 ```bash cd backend mvn spring-boot:run ``` 启动成功标志:`Tomcat started on port 8080` ### 3. 启动管理端 ```bash cd admin-web npm install npm run dev ``` 访问地址:http://localhost:5173 管理员默认账号:`admin` / `admin123` ### 4. 启动用户端 ```bash cd user-web npm install npm run dev ``` 访问地址:http://localhost:5181 ## 用户端页面 | 页面 | 路由 | 说明 | | --- | --- | --- | | 登录注册 | `/login` | 用户登录、注册 | | 首页 | `/home` | 今日任务、打卡入口、词库选择 | | 学习 | `/learn` | 今日单词学习 | | 复习 | `/review` | 到期复习、困难词、收藏词 | | 小游戏 | `/games` | 四类辅助记忆小游戏 | | 森林 | `/forest` | 用户树木与树种图鉴 | | 个人中心 | `/profile` | 用户信息和退出登录 | ## 管理端页面 | 页面 | 路由 | 说明 | | --- | --- | --- | | 登录 | `/login` | 管理员登录 | | 仪表盘 | `/dashboard` | 数据概览 | | 词库管理 | `/word-books` | 维护考试词库 | | 单词管理 | `/words` | 维护单词数据 | | 用户管理 | `/users` | 查看用户、启用/禁用 | | 树种管理 | `/trees` | 维护树种和解锁等级 | | 打卡记录 | `/checkins` | 查看用户每日打卡 | ## 文档索引 | 文档 | 说明 | | --- | --- | | [需求文档.md](https://gitee.com/xyy968/word-forest/blob/master/%E9%9C%80%E6%B1%82%E6%96%87%E6%A1%A3.md) | 产品功能需求与验收标准 | | [技术文档.md](https://gitee.com/xyy968/word-forest/blob/master/%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3.md) | 技术架构与接口文档 | | [开发批次计划.md](https://gitee.com/xyy968/word-forest/blob/master/%E5%BC%80%E5%8F%91%E6%89%B9%E6%AC%A1%E8%AE%A1%E5%88%92.md) | 分批开发进度与后续规划 | ## License MIT