Cursor实战:Web版背单词应用开发演示

Cursor实战:Web版背单词应用开发演示

在上一篇《Cursor AI编程助手不完全指南》中,我们详细介绍了Cursor这款强大的AI编程工具。为了让大家能更直观地了解 Cursor 的实战应用价值,本文将通过一个实际项目来展示其开发流程。我们将使用 Cursor 开发一个 Web 版单词学习程序,通过这个案例,您将看到 AI 辅助开发的完整过程,体验从需求分析到代码实现的全过程。让我们开始这次实战之旅。

需求分析

在开始开发之前,明确的需求文档是项目成功的关键。一个好的需求文档不仅能指导开发方向,还能作为与 Cursor 进行高效对话的重要基础。我们有两种方式来准备需求文档:自行编写需求文档和借助 Cursor 生成需求文档。

自行编写需求文档

  • 明确列出功能模块和具体需求
  • 按优先级排序各项功能
  • 将文档保存为独立文件,方便随时参考
  • 确保描述清晰,避免歧义

借助Cursor生成需求文档

  • 提供项目的核心目标和主要功能点
  • 让AI协助完善功能描述和技术细节
  • 根据实际需求进行调整和补充

摘抄部分功能内容,填充到自己的开发需求文档如下:

复制代码
# 开发一个学单词的web程序

## 核心功能需求

### 学习模式

- 从未学单词中挑选10个单词进行学习
- 单词卡片展示(拼写、音标、释义、例句)
- 发音功能
- 可以将当前词加入到错题本,进行复习

### 复习模式

- 从错词本中随机抽取单词进行复习

### 用户管理

- 用户免登录,可以设置用户名

## 技术需求

### 前端

- 响应式设计,支持多端适配
- 流畅的交互体验,界面简洁美观

### 后端

- 如果需要用到后端程序,请使用python语言
- 如果需要用到数据库,请使用MySQL

## 数据结构

### 单词库

- 单词基本信息(拼写、音标、发音音频、释义、例句)

### 用户学习记录

- 记录用户学习记录和错题信息

前端UI设计

使用 Cursor 的 COMPOSER 模式+ AGENT,以需求文档作为上下文,和 Cursor 对话,让其帮忙生成 UI 界面。

复制代码
请根据我的需求文档,设计一个学单词的web界面,要求简洁美观

觉得设计的还不错,就直接选择 Accept,如需修改可继续提问进行修改。

下面进行 web 界面的预览, 选中 html 文件,右键 Open In Default Browser

后端开发

前端部分先这样,可以继续进行后端设计,包括API接口、功能实现和数据库设计。

项目结构

Cursor 给出的后端项目结构:

复制代码
   app/
   ├── models/
   │   └── models.py
   ├── routes/
   │   └── word_routes.py
   ├── utils/
   └── app.py
   requirements.txt
   .env

环境参数

Cursor 创建一个保存环境变量文件,我们需要修改其中的内容,如连接数据库的URI。

复制代码
DATABASE_URL=mysql+pymysql://root:root@localhost/word_memorize
FLASK_ENV=development
FLASK_APP=app/app.py

数据库设计

  • Word 表:存储单词基本信息
  • UserProgress 表:存储用户学习进度和错题本

创建数据库:

复制代码
CREATE DATABASE word_memorize CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

表可以先不创建,后面让Cursor生成程序进行表的创建和测试数据生成。

安装Python依赖

Cursor 已为我们创建一个 requirements.txt 文件来管理项目依赖(如果没有,可让其帮忙生成)。

复制代码
Flask==2.0.1
Flask-SQLAlchemy==2.5.1
Flask-CORS==3.0.10
PyMySQL==1.0.2
python-dotenv==0.19.0
requests==2.26.0

有了依赖我们可以直接执行以下安装命令,可以让 Cursor 帮忙执行,(注意:如果使用的是python虚拟环境,可能需要手动执行命令,cursor 默认使用默认的 python 环境):

复制代码
pip install -r requirements.txt

运行应用

复制代码
flask run

首次运行,出错了,没关系,交给 Cursor 去解决(这是一个持续过程,需要有点耐心):

根据提示,升级Flask版本:

继续运行,又报错了,继续丢给 Cursor 帮忙解决:

修改了依赖的版本和代码中依赖的导入方式:

又回到了第一个问题,版本不兼容,Cursor 建议让我们用第二种方式解决:

这次启动成功:

前端代码修改

接下来,我们需要修改前端JavaScript代码,对接后端 API。

测试前端界面

修改之后,打开页面,报错了页面中的CSS和JS文件找不到,可能是路径问题,需要修复下:

接收所有建议,需要运行一个服务用于加载前端文件:

测试数据生成

我们让Cursor帮忙生成测试单词数据:

添加单词报错:

一通修复之后,终于添加了单词

功能测试

单词展示和下一个功能正常:

加入错题本正常:

单词学完:

Bug修复

页面虽然展示添加到错题本成功,其实并没有真正添加到数据库:

需要Cursor帮忙修复这个问题:

修复之后,重启程序,仍然有问题,不过我观察到错题记录是被答题记录更新掉了,需要让 Cursor 注意到这个问题:

错题本终于也正常了:

总结

虽然这是一个相对简单的示例项目,但它展示了 AI 辅助开发的基本流程和方法。通过这次实践,我们可以总结以下几点经验:

1、交互策略

  • 与Cursor进行清晰、具体的对话
  • 将复杂需求拆分成小步骤
  • 及时反馈和纠正AI的输出

2、效率提升

  • 善用上下文管理,保持对话连贯性
  • 复用已验证的代码片段
  • 建立个人的提示词模板
相关推荐
AI改变未来8 小时前
我们该如何使用DeepSeek帮我们减负?
人工智能·deepseek
太空眼睛9 小时前
【LLaMA-Factory】使用LoRa微调训练DeepSeek-R1-Distill-Qwen-7B
lora·微调·sft·训练·deepspeed·llama-factory·deepseek
pedestrian_h10 小时前
Spring AI 开发本地deepseek对话快速上手笔记
java·spring boot·笔记·llm·ollama·deepseek
木偶彡10 小时前
如何通过http访问ollama接口
大模型·ollama·deepseek
浪淘沙jkp10 小时前
AI大模型学习二十、利用Dify+deepseekR1 使用知识库搭建初中英语学习智能客服机器人
人工智能·llm·embedding·agent·知识库·dify·deepseek
-曾牛1 天前
Spring AI 与 Hugging Face 深度集成:打造高效文本生成应用
java·人工智能·后端·spring·搜索引擎·springai·deepseek
全栈技术负责人1 天前
cursor对话关键词技巧
ai编程
大白技术控1 天前
浙江大学 deepseek 公开课 第三季 第3期 - 陈喜群 教授 (附PPT下载) by 突破信息差
人工智能·互联网·deepseek·deepseek公开课·浙大deepseek公开课课件·deepseek公开课ppt·人工智能大模型
奔跑吧邓邓子2 天前
DeepSeek“智”造:解锁旅游行业新玩法
应用·deepseek·旅游行业·旅游攻略
佩奇的技术笔记3 天前
AI编程: 使用Trae1小时做成的音视频工具,提取音频并识别文本
音视频·ai编程