【Code With SOLO】用 SOLO 从零构建一款行测备考神器,让公考学习更高效

【Code With SOLO】用 SOLO 从零构建一款行测备考神器,让公考学习更高效

“行测小助手”——集成语速记、高频母题库、百化分训练、励志语录于一体的公考学习Web应用

1. 摘要

用 TRAE SOLO 从零开发了一款名为"行测小助手"的公务员考试备考Web应用。产品整合了成语速记(424个成语)、高频母题库(20个核心题型)、言语理解真题(80+道)、百化分专项训练(31个常用分数)四大核心模块,同时集成了92条励志语录,在用户学习疲惫时给予精神激励。支持深色/浅色主题切换、答题模式训练、解析自动展示、成语分类浏览等功能。所有数据以 TypeScript/JSON 格式存储,支持离线使用。整个项目从需求分析、数据提取、功能开发到多轮迭代优化,全程由 SOLO 完成。

2. 背景

作为一名公考备考者,我在复习行测时经常遇到这样的困境:成语总是记不住,背了忘、忘了背;资料分析的百化分换算总是反应慢;高频题型的解题技巧零散地分布在各个资料中,难以系统掌握;言语理解题目做完后缺乏详细解析,不知道错在哪里。

与此同时,我手头积累了大量珍贵的备考资料,包括成语分类文档(Word格式)、高频母题库(Word格式)、言语理解真题解析(Word格式)、励志语录(Word格式)等。这些资料分散在不同格式的文件中,学习时需要频繁切换,效率极低。

我希望用 AI 的力量,将这些破碎的资料整合成一个统一的、美观易用的学习工具。更重要的是,公考备考是一场持久战,需要持续的动力激励,于是"行测小助手"这个项目应运而生。

3. 核心说明

3.1 产品定位

"行测小助手"是一款面向公务员考试备考者、事业单位考试备考者的Web端学习工具。它解决的核心问题是:将分散在各种格式文件中的备考资料,整合为一个统一的、离线可用的、iOS风格美学的学习应用。

3.2 功能架构

产品分为五大核心模块:

模块 功能 说明
成语速记 成语分类浏览 424个成语,按语义分类
成语答题训练 随机出题,巩固记忆
高频母题库 五大分类 资料分析、言语理解、判断推理、数量关系、常识判断
题型详情 定义、识别关键词、解题步骤、秒杀技巧、常见陷阱
言语理解 真题练习 80+道真题,支持分类筛选
详细解析 真题定位、命题逻辑、选项辨析、秒杀方法论
百化分训练 分数转百分比 31个常用分数,答题模式训练
百分比转分数 反向训练,双向巩固
励志激励 励志语录 92条励志句子,按顺序展示

3.3 技术方案

决策点 方案 理由
前端框架 React 18 + TypeScript 类型安全,生态丰富
构建工具 Vite 快速热更新,开发体验好
样式方案 Tailwind CSS 3 原子化CSS,开发效率高
数据存储 TypeScript/JSON 离线可用,无需后端
主题切换 localStorage + React State 持久化用户偏好
UI风格 iOS风格 毛玻璃效果、渐变、弹性动画

3.4 主题设计

支持深色/浅色主题切换,适配不同学习场景:

主题 配色 适用场景
浅色模式 白色背景 + 彩色卡片 白天学习,光线充足
深色模式 深灰背景 + 渐变卡片 夜间学习,护眼舒适

4. 实践过程

4.1 任务拆解

整个项目我拆解为以下阶段,每个阶段与 SOLO 多轮对话迭代完成:

  • 第一阶段:项目初始化,搭建React + TypeScript + Vite + Tailwind框架

  • 第二阶段:开发首页和基础页面组件,实现iOS风格UI

  • 第三阶段:从Word文档提取成语数据,开发成语速记模块

  • 第四阶段:开发高频母题库模块,包含五大分类和题型详情

  • 第五阶段:实现深色/浅色主题切换,适配所有页面

  • 第六阶段:从Word文档提取励志语录,实现按顺序展示

  • 第七阶段:添加微信联系方式和二维码

  • 第八阶段:开发百化分专项训练模块

  • 第九阶段:从Word文档提取言语理解解析,实现答题后自动展示解析

4.2 关键 Prompt 示例

数据提取阶段:

Prompt: “帮我加上成语理解速记模块,从Word文档提取成语数据,包含成语、释义、例句、近义词、反义词”

功能开发阶段:

Prompt: “请基于现有’行测小助手’项目继续开发,本次只开发’高频母题库’模块,包含五大分类:资料分析、言语理解、判断推理、数量关系、常识判断”

主题适配阶段:

Prompt: “我发现黑夜模式现在只是首页和底部会是黑色调,我点开成语速记和母题那里,页面还是白色的,需要改一下”

解析功能阶段:

Prompt: “言语理解的题目我找了题目的解析,在dist文件夹的yanyulijiejiaxi文件中,帮我给题目中对应的加上解析,要求是答题后不管正确错误,自动切换到这题的解析页面”

4.3 踩过的坑

坑一:Word文档名称不匹配

提取成语数据时,代码中的文件名与实际上传的文件名不一致,导致文件读取失败。解决方案:检查dist目录下的实际文件名,更新代码中的路径。

坑二:枚举键不能使用中文字符

在开发高频母题库时,尝试用中文作为枚举键,导致构建失败。解决方案:将枚举改为字符串数组,避免中文键问题。

坑三:主题切换仅首页生效

用户反馈深色模式只对首页生效,其他页面仍然是白色。解决方案:将theme属性通过props传递给所有页面组件,确保主题状态全局同步。

坑四:励志句子只展示部分

用户文档中有100条励志句子,但只展示了10条左右。解决方案:检查数据提取脚本,确保提取所有句子;同时实现按顺序展示功能,使用localStorage记录当前索引。

坑五:图标颜色不适配主题

用户反馈白天模式下首页图标颜色看起来奇怪。解决方案:根据主题动态调整图标颜色,浅色模式使用深色图标,深色模式使用浅色图标。

坑六:解析与题目匹配困难

言语理解解析文档中的题目与题库中的题目不是完全一一对应。解决方案:根据题干关键词进行匹配,创建解析映射表,确保解析内容正确对应到题目。

5. 成果展示

5.1 数据规模

数据文件 内容
idioms.ts 424个成语,含释义、例句、近义词、反义词
motherQuestionData.ts 20个核心题型,含定义、解题步骤、秒杀技巧
verbalQuestions.ts 80+道言语理解真题
verbalExplanations.ts 20+条详细解析,含真题定位、命题逻辑、秒杀方法论
percentConversion.ts 31个常用百化分数据
quotes.ts 92条励志语录

5.2 界面展示

首页(深色模式):

  • 功能入口卡片,支持快速导航

  • 左上角主题切换按钮

  • 点击图标显示励志语录弹窗

成语速记:

高频母题库:

百化分训练:

  • 分数转百分比/百分比转分数两种模式

  • 实时正确率统计

  • 训练完成显示成绩

言语理解:

  • 分类筛选

  • 答题后自动展示解析

  • 解析包含真题定位、命题逻辑、选项辨析、秒杀方法论

5.3 项目结构

Plain Text

xingce/
├── src/
│   ├── App.tsx                    # 主入口,路由配置
│   ├── components/
│   │   ├── HomePage.tsx           # 首页
│   │   ├── IdiomPage.tsx          # 成语速记
│   │   ├── IdiomPracticePage.tsx  # 成语答题
│   │   ├── MotherQuestionPage.tsx # 高频母题库
│   │   ├── QuestionTypeDetailPage.tsx # 题型详情
│   │   ├── VerbalPage.tsx         # 言语理解入口
│   │   ├── VerbalPracticePage.tsx # 言语理解答题
│   │   ├── PercentConversionQuiz.tsx # 百化分训练
│   │   ├── KnowledgePage.tsx      # 资料分析必记知识
│   │   ├── PurchasePage.tsx       # 购买页面
│   │   └── BasePage.tsx           # 基础页面组件
│   ├── data/
│   │   ├── idioms.ts              # 成语数据
│   │   ├── motherQuestionData.ts  # 母题数据
│   │   ├── verbalQuestions.ts     # 言语理解题目
│   │   ├── verbalExplanations.ts  # 言语理解解析
│   │   ├── percentConversion.ts   # 百化分数据
│   │   └── quotes.ts              # 励志语录
│   └── types/
│       └── verbal.ts              # 类型定义
├── dist/                          # 构建产物
│   └── *.docx                     # 原始数据文档
└── package.json

6. 效果与总结

6.1 提效数据

环节 传统方式 使用SOLO 提效
数据提取与转换 1-2天 30分钟 ~5x
功能代码开发 3-5天 2小时 ~10x
UI样式调整 半天 15分钟 ~15x
Bug修复 每个半天 几分钟 ~20x

6.2 核心收获

1. SOLO 最强的能力是"需求理解+快速实现"

本项目涉及多个功能模块,SOLO 能够准确理解需求,快速生成代码,并根据反馈迭代优化。

2. "渐进式开发"的流程至关重要

先开发核心功能,再根据用户反馈逐步完善。例如主题切换功能,最初只实现了首页,用户反馈后才扩展到所有页面。

3. 数据提取是关键环节

从Word文档提取数据时,需要注意文件名匹配、编码问题、数据结构设计。SOLO能够自动编写Python脚本完成数据转换。

4. 可复用的方法

  • 复杂项目先搭建框架,再逐步添加功能

  • 主题切换需要全局状态管理,确保所有页面同步

  • 数据提取脚本要考虑文件名、编码、格式等问题

  • 用户反馈是产品优化的重要来源

6.3 一句话总结

从零散的备考资料,到一个集成语速记、高频母题库、百化分训练、励志激励于一体的学习神器,SOLO 让一个人也能做出一个功能完整、美观易用的公考学习应用。