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

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

  • 需求分析
    • 自行编写需求文档
    • 借助Cursor生成需求文档
  • 前端UI设计
  • 后端开发
    • 项目结构
    • 环境参数
    • 数据库设计
    • 安装Python依赖
    • 运行应用
  • 前端代码修改
    • 测试前端界面
  • 测试数据生成
  • 功能测试
    • Bug修复
  • 总结

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

需求分析

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

自行编写需求文档

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

借助Cursor生成需求文档

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

Cursor帮我们需求分析

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

# 开发一个学单词的web程序## 核心功能需求### 学习模式- 从未学单词中挑选10个单词进行学习
- 单词卡片展示(拼写、音标、释义、例句)
- 发音功能
- 可以将当前词加入到错题本,进行复习### 复习模式- 从错词本中随机抽取单词进行复习### 用户管理- 用户免登录,可以设置用户名## 技术需求### 前端- 响应式设计,支持多端适配
- 流畅的交互体验,界面简洁美观### 后端- 如果需要用到后端程序,请使用python语言
- 如果需要用到数据库,请使用MySQL## 数据结构### 单词库- 单词基本信息(拼写、音标、发音音频、释义、例句)### 用户学习记录- 记录用户学习记录和错题信息

前端UI设计

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

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

Cursor进行UI设计

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

Accept

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

Open In Default Browser

界面预览

后端开发

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

Cursor进行后端设计

Cursor进行后端设计

项目结构

Cursor 给出的后端项目结构:

   app/├── models/│   └── models.py├── routes/│   └── word_routes.py├── utils/└── app.pyrequirements.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

安装Python依赖

运行应用

flask run

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

运行出错

根据提示,升级Flask版本:

Cursor提示修复

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

Cursor提示修复

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

Cursor提示修复

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

Cursor提示修复

这次启动成功:

启动成功

前端代码修改

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

Cursor前端代码修改

测试前端界面

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

前端页面问题

前端页面修复

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

前端正常

测试数据生成

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

测试数据生成

添加单词报错:

添加单词报错

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

添加测试单词

功能测试

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

单词展示

加入错题本正常:

加入错题本正常

单词学完:

单词学完

Bug修复

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

错题本bug

错题本bug

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

Cursor修复后端代码

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

Cursor修复后端代码

Cursor修复后端代码

错题本终于也正常了:

Cursor修复成功

总结

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

1、交互策略

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

2、效率提升

  • 善用上下文管理,保持对话连贯性
  • 复用已验证的代码片段
  • 建立个人的提示词模板

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/70263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek与ChatGPT:会取代搜索引擎和人工客服的人工智能革命

云边有个稻草人-CSDN博客 在众多创新技术中,DeepSeek和ChatGPT无疑是最为引人注目的。它们通过强大的搜索和对话生成能力,能够改变我们与计算机交互的方式,帮助我们高效地获取信息,增强智能服务。本文将深入探讨这两项技术如何结合…

JavaScript中判断元素是否在可视区域内

JavaScript中判断元素是否在可视区域内 1.有什么应用2.方法1-----使用offsetTop、scrollTop3.方法2-----getBoundingClientRect4.方法3-----Intersection Observer 1.有什么应用 懒加载列表的无限滚动计算广告元素的曝光情况 2.方法1-----使用offsetTop、scrollTop offsetTo…

PyTorch与TensorFlow的对比:哪个框架更适合你的项目?

在机器学习和深度学习领域,PyTorch 和 TensorFlow 是最流行的两个框架。它们各有特点,适用于不同的开发需求和场景。本文将详细对比这两个框架,帮助你根据项目需求选择最合适的工具。 一、概述 PyTorch 和 TensorFlow 都是深度学习框架&…

挖掘图片的秘密:如何用piexif提取和修改Exif数据

Exif(Exchangeable Image File Format)数据是一个广泛用于数字图像(尤其是JPEG和TIFF格式)中的元数据格式。它包含了关于图像的各种信息,包括拍摄设备的类型、拍摄时间、光圈、曝光时间、GPS定位信息等。Exif数据使得用…

定期自动统计大表执行情况

一、创建用户并赋权 create user dbtj identified by oracle default tablespace OGGTBS;grant connect,resource to dbtj;grant select any dictionary to dbtj;grant create job to dbtj;grant manage scheduler to dbtj; 二、创建存储表 1、连接到新建用户 conn dbtj/or…

模拟与高精度

题目描述 高精度加法,相当于 ab problem,不用考虑负数。 输入格式 分两行输入。a,b≤10500。 输出格式 输出只有一行,代表 ab 的值。 输入输出样例 输入 #1复制 1 1输出 #1复制 2输入 #2复制 1001 9099输出 #2复制 10100说明/提示…

鉴源实验室·基于DDS的模糊测试研究

作者 | 柳泽 上海控安可信软件创新研究院 鉴源实验室 01 引 言 近年来,随着工业4.0和智能网联技术的发展,数据驱动型系统的需求日益增加,推动了诸如 DDS(Data Distribution Service)等高效数据分发中间件的应用和发…

新功能:“禁用TLS特性”,让浏览器更隐蔽

如果你在使用浏览器时担心隐私泄露、被广告追踪,或者需要绕过反作弊系统,AdsPower 的新功能——“禁用 TLS 特性”或许可以帮到你。 今天,我们就来聊聊这个功能的作用、原理,以及如何使用。 🔍先来聊聊:TL…

【第一节】C++设计模式(创建型模式)-工厂模式

目录 前言 一、面向对象的两类对象创建问题 二、解决问题 三、工厂模式代码示例 四、工厂模式的核心功能 五、工厂模式的应用场景 六、工厂模式的实现与结构 七、工厂模式的优缺点 八、工厂模式的扩展与优化 九、总结 前言 在面向对象系统设计中,开发者常…

DeepSeek:企业级大模型私有化部署与应用全解析(深度扩展版)

一、DeepSeek基本信息介绍(扩展) DeepSeek作为中国首个实现全栈自主可控的开源大模型体系,其技术演进经历了DeepSeek LLM→DeepSeek MoE→DeepSeek-V2→DeepSeek-V3→DeepSeek R1五大阶段。核心突破在于: 架构创新:在Transformer基础上引入分组查询注意力(GQA),推理成…

zyNo.25

SSRF漏洞 在了解ssrf漏洞前先了解curl命令的使用 1.curl命令的使用 基本格式&#xff1a;curl<参数值>请求地址 get请求&#xff1a;curl http://127.0.0.1 post请求&#xff1a;curl -X POST -d "a1&b2" http://127.0.0.1/(其中&#xff0c;使用-X参…

文件理解:从C标准库到系统调用

目录 一、C 标准库文件操作 1. 文件的写入 2. 文件的读取 3. 数据输出到显示器 4. 标准输入输出流 二、C 标准库文件操作模式 三、系统调用文件操作 1. 文件的打开与描述符 2. 文件的读取 3. 文件操作标志 4. 文件权限 5. 文件描述符 四、C 标准库与系统调用的比较…

【阮一峰】5.函数

函数 简介 函数的类型声明&#xff0c;需要在声明函数时&#xff0c;给出参数的类型和返回值的类型。 function hello(txt: string): void {console.log("hello " txt); }如果变量被赋值为一个函数&#xff0c;变量的类型有两种写法。 // 写法一 const hello f…

【R语言】主成分分析与因子分析

一、主成分分析 主成分分析&#xff08;Principal Component Analysis, PCA&#xff09;是一种常用的无监督数据降维技术&#xff0c;广泛应用于统计学、数据科学和机器学习等领域。它通过正交化线性变换将&#xff08;高维&#xff09;原始数据投影到一个新的坐标系&#xff…

pycharm画图程序如何一步一步的调试

1.设置合适的 Matplotlib 后端 在 PyCharm 中&#xff0c;有时需要手动指定 Matplotlib 后端。你可以尝试在脚本的最开始加入以下代码&#xff0c;强制使用 TkAgg 后端&#xff0c;这样可以保证图形更新的实时性&#xff1a; import matplotlib matplotlib.use(TkAgg) # 指定…

基于Java+Swing+Mysql实现旅游管理信息系统

基于JavaSwingMysql实现旅游管理信息系统 一、系统介绍二、功能展示1.登陆2.注册3.旅游信息查询4.查看游行团信息5.报名6、报名信息管理 三、数据库四、其它1.其他系统实现五.获取源码 一、系统介绍 用户&#xff1a;登陆、注册、旅游信息查询、查看游行团信息、报名 管理员&a…

Linux配置端口映射——其他机器可以访问

一般使用虚拟机都是NAT网络模式&#xff0c;但是这种模式的问题是&#xff1a;其他机器不能访问虚拟机 想让其他机器访问这个电脑上的虚拟机&#xff0c;需要做端口映射。 之后就可以使用finalshell连接 注意&#xff1a;如果要连接其他人的虚拟机&#xff0c;需要对方先关闭自…

快速部署deepseek

一、安装ollama 访问https://ollama.com/download 下载并安装对应系统的ollama。 Ollama 是一个开源工具&#xff0c;旨在帮助用户在本地机器上轻松运行和管理大型语言模型&#xff08;LLM&#xff09;。它提供了一个简单易用的命令行界面&#xff0c;可以下载、安装和运行各…

用Deepseek查询快证API-物流查询-实名认证-企业实名认证

快证API可能是一个提供多种验证和查询服务的平台&#xff0c;包括但不限于企业实名认证、短链接生成、手机号归属地查询、IP地址查询等。以下是根据搜索结果整理的关于快证API的相关信息&#xff1a; ‌企业实名认证API‌&#xff1a; 功能&#xff1a;通过与企业相关数据库进行…

基于指纹识别技术的考勤打卡设计与实现(论文+源码)

1 系统总体设计 本次基于指纹识别技术的考勤打卡系统的整体框图如图2.1所示&#xff0c;主控制模块选用单片机STC89C52&#xff0c;同时还包括AT24C02存储电路&#xff0c;指纹模块&#xff0c;LCD12864液晶&#xff0c;继电器&#xff0c;矩阵键盘等硬件电路。其中指纹模块和…