Administrator
Administrator
Published on 2025-04-16 / 15 Visits
1
0

用 Cursor 深度打造《SoundJourney》

用 Cursor 深度打造《SoundJourney》:15 天开发一款智能旅游小程序的实战体验

一、项目背景与初衷:AI 时代的“一个人的小团队”

这个项目的起点,其实是源自两个字:好奇。我一直对 AI 编程助手感兴趣,尤其是在看到 Cursor 这类工具快速发展的这几年,便萌生了一个念头:它到底能帮我写出一个完整的实际项目吗? 与其看别人案例,不如自己试一试,于是《SoundJourney》的想法就这样诞生了。

但说实话,技术探索之外,更深层的动因来自我的个人旅行体验

每次出去旅游,尤其是去那种历史感浓厚的景点,比如故宫、兵马俑、博物馆,最大的遗憾就是:要么得掏几十块跟团听导游讲(有时候还人太多、跟不上),要么就自己一个人瞎转,走马观花,很多文化信息根本无法感知。想用手机查资料吧,又太零碎,也打断了旅行的沉浸感。

我就在想,如果能有一个能陪我“安静地走路、默默地讲解”的应用多好,不用导游、不用排队、不用社交,一个人也能沉浸式了解眼前的风景。

市面上虽然有类似产品,但要么是要收费、要么内容很旧、要么支持的语言很有限。考虑到现在中国旅游越来越国际化,很多外国游客压根找不到一款支持多语种的免费语音讲解应用,尤其是那种可以在户外景点、室内展馆都能通用的。

于是我设定了《SoundJourney》的目标:

做一个真正实用、轻量、支持多语言、并通过 AI 技术降低开发和运营成本的“智能导游”。

在 AI 快速发展的今天,这件事情已经不像以前那么难。借助像 Cursor 这样的 AI 编程工具、加上语音合成模型(我采用的是 kokoro-tts,开源效果不错),一个人也能完成过去需要一个小团队才能完成的产品原型。

开发周期我预估了两周,最终实际也差不多在 15 天内完成了小程序 + 管理后台的 MVP,实现了基本的讲解、导航、语言切换功能。

当然,以下是你提供的内容扩展整理后的 第二部分:产品概览(What),我保留了你写的每一个点,同时润色语言,让逻辑更清晰、描述更具体、语气更自然,也可以更好地配合第一部分的风格:


二、产品概览:功能驱动 + 技术赋能的智能讲解体验

1. 《SoundJourney》的核心功能模块

作为一款主打“智能语音讲解 + 个性化导航”的旅游小程序,《SoundJourney》在设计上遵循“简单、实用、沉浸式”三个关键词。无论用户是背包客、自驾游家庭,还是博物馆爱好者,都能在这款应用中找到顺手、贴心的体验。

🗺 景点讲解:听得懂、跟得上、不会错过

通过 GPS 和定位服务,系统会根据用户当前位置,自动推荐附近的讲解资源。用户在游览时无需手动查找,只需佩戴耳机或打开手机外放,即可一边走一边听讲解,沉浸式了解景点的历史、文化、背景故事。

🎨 手绘地图:比导航更直观,比导览更美观

  • 对于室外景区,使用 GPS 精准定位触发语音讲解;
  • 对于室内场馆,如博物馆、美术馆等,内嵌手绘平面图3D楼层导览图,用户可直观查看展厅分布,并准确定位每个讲解点,一目了然。

📥 离线下载:无网也能畅听讲解

考虑到很多景区信号弱、WiFi 不稳定,《SoundJourney》支持提前下载讲解音频与地图数据。即使在完全离线状态下,也能完整体验讲解内容,不让网络成为旅行的“绊脚石”。

📌 智能行程规划:让你不用再做功课

根据用户填写的人数、年龄、天数、城市、偏好景点类型等维度,系统可智能生成多套行程建议,包括景点推荐、交通路线、预计时间等,适合不同出游风格(亲子游、打卡游、深度游等)。

🧭 设施推荐:实用小功能,也很贴心

除了景点,应用还能一键导航至景区内的重要设施,例如:出入口、餐厅、停车场、卫生间等,提升整体游览便利度。

二维码首页详情历史
qrcode.pnghome.pngspotinfo.pnghis.png

2. 技术架构与选型亮点

在技术实现方面,《SoundJourney》采用了经典且实用的三层架构模式,保证开发效率与系统稳定性并存。

🧱 后端:Spring Boot

作为核心的服务端框架,Spring Boot 提供了清晰的接口设计与良好的扩展性,负责讲解资源管理、用户行为记录、推荐算法实现等。

🖥 前端:

  • 管理后台:使用 Vue 框架搭建,轻量级,组件化程度高,便于快速开发内容管理系统(CMS);
  • 小程序端:采用 Uni-app 实现,支持一次开发,多端运行(微信/支付宝/抖音等),提高跨平台效率。

🧩 第三方服务与工具:

  • 地图服务:集成腾讯地图 SDK,负责 GPS 定位与路径规划;
  • 语音合成:使用开源的 kokoro-tts 模型,生成高质量中文/英文语音内容;
  • 数据库:MySQL,用于存储景点数据、用户行为数据等;
  • 对象存储:用于托管音频文件、图片资源、地图数据等大容量静态文件。

业务架构图

image.png


三、Cursor 在开发过程中的角色:不是工具,更像一位搭档

在《SoundJourney》的整个开发过程中,Cursor 不仅仅是一个写代码的工具,更像是一个可以“沟通”的虚拟搭档。它的使用贯穿了项目的从 0 到 1,尤其是在我一个人独立开发的节奏下,显著提高了效率,也减少了很多“卡壳”的时刻。

我大致可以把 Cursor 的角色分为三个阶段:初期规划 + 中期开发 + 后期打磨

🛠 初期:需求讨论 + 项目搭建 + 模型设计

项目刚开始,我用 Cursor 的 Ask 模式 进行“头脑风暴”。
像是跟一个资深工程师对话一样,我不断抛出需求,Cursor 也反过来问我一些关键问题,帮助我更清晰地定义项目目标、梳理模块、明确技术选型。最后我将这些内容整理成了 README.md,等于写了一个轻量的产品文档和技术概要。

随后我让它帮我搭建了项目的基础结构,包括 Spring Boot 项目初始化、目录结构搭建、基础依赖配置等,还包含数据库模型的设计(数模阶段)。

这一步我采用“AI 生成 + 人工审核”的策略:让 Cursor 初步生成 ER 设计和实体类,我再根据实际需求删减/调整一部分内容,整体效率比我手动一条条敲快了非常多。

⚙️ 中期:我提需求,它负责写 & 改

进入中期的核心功能开发阶段,工作节奏也变得高效起来:
我提需求,它来实现;我调试报错,它帮我修。

尤其是在后端开发中,Cursor 表现非常稳定。不管是接口开发、分页查询、数据关联逻辑,还是常规的增删改查,只要我把需求描述清楚,它给出的代码几乎都是**“可以直接用”**的,而且格式清晰、注释合理。

如果我遇到报错或者功能行为不符合预期,只需要把错误信息贴给它,加上简短描述,它很快就能定位问题并给出修改建议,准确率非常高,真的省了我不少查文档 + debug 的时间。

前端部分我采用的是 uni-app 来编译生成微信小程序,虽然需要在 VSCode 和微信开发者工具之间来回切换,有点繁琐,但整体效果还是不错的。Cursor 对 uni-app 的支持还算可以,页面模板和事件绑定这些常见用法都能给出准确代码,只是在样式层面有时需要我再手动调整细节。

🔍 后期:Bug 处理 + MCP 辅助 + 自我优化

到了后期优化阶段,我开始把更多注意力放在体验细节和问题修复上。这个阶段我也启用了 Cursor 的 MCP 服务(代码浏览器控制),它可以对代码进行上下文追踪、跨文件修改,大幅提升了调试体验。

尤其是在管理后台这块,有一些表单、列表页面的重复逻辑,我甚至没提问题,Cursor 就自己发现了一些代码结构不合理的地方,并主动给出优化建议。比如一些冗余 if 判断、未使用的变量、可复用的组件提取等,真的让我惊喜了一下。


总体来说,如果不是借助 Cursor,这个项目可能会拉长到一个月甚至更久。它的出现,让我能在“想法刚出来”的那一刻就立刻启动开发,而不是先陷入“我要不要写个需求文档”、“这接口咋设计”、“为啥报错”这些琐碎当中。

AI 正在改变我们开发的方式,《SoundJourney》的诞生,就是一次我与 AI 合作的真实演练。

当然可以,这部分我会从你的项目实践出发,结合 Cursor 和整体开发流程,整理成一个有条理、有思考的章节。内容既突出技术价值,也有真实的“踩坑”经验,方便读者共鸣。


四、开发中的收获与挑战:一个人,也能搞定整个项目

开发《SoundJourney》的过程,像是一场个人挑战,也是一场 AI 加持下的极限协作。整个项目从需求构想到功能落地、从系统架构到细节体验,只用了大约 15 天。虽说不是一个大型系统,但能做到“一个人完成小程序 + 后台 + 多语言讲解”,在以前是挺难想象的。总结下来,我收获了很多,同时也遇到了一些挑战。

✅ 收获:AI 赋能,效率翻倍

1. 更高效的开发节奏

过去一个功能从需求梳理、接口设计、页面构建、调试优化,可能需要几天才能打磨好。现在用 Cursor,很多事情可以在同一个工作窗口里完成对话 +代码生成 +修改 +解释,省去来回查资料、写注释的时间,开发节奏更加紧凑、高效。

2. 不再孤军奋战的感觉

虽然是一个人做项目,但有 Cursor 的协助,其实心理负担小了很多。尤其当遇到逻辑卡壳或报错信息一头雾水时,有个“永不下班”的虚拟搭档能陪你一起 debug,这种感觉真的很妙。

3. 个人能力边界被拓展

在这个项目里,我不仅写了后端业务,还搭了前端页面、配置了小程序、处理了 TTS 模型的接入、用到了地图 SDK、做了中英文语音资源的管理。很多以前不熟的技术点,在 AI 的帮助下快速补齐了知识盲区,也让我对“一个人做产品”的可能性有了新的理解。


⚠️ 挑战:AI 再强,也要人脑兜底

1. Cursor 的“自信幻觉”

虽然 Cursor 绝大部分时候都很靠谱,但也存在“自信地胡说八道”的情况。尤其在生成较长逻辑链或处理边缘情况时,它的输出可能语法正确但逻辑不通,这时候就需要我保持判断力,不能完全放手让它“接管开发”。

2. 多端开发的上下文切换痛点

因为后台是 Vue,小程序是 Uni-app,还涉及微信开发者工具调试,工作过程中 IDE 来回切换,不能像后端那样完全在 Cursor 里“沉浸式开发”。这也是目前使用体验中一个不太顺滑的地方。

3. 多语言、多设备支持带来的额外工作量

多语种讲解听起来简单,实际要考虑的点包括:TTS 模型兼容性、资源管理、前端语种切换逻辑、语音播放控件多语言支持等等。这部分 Cursor 帮不上太多,更多还是靠人工处理细节和验证体验。


📌 一个小小的感悟

过去我一直以为,做一个产品最重要的是“人手”和“时间”;现在我发现,只要有明确目标 + 合理工具 + 沉下心去做,一个人其实可以完成很多以前必须靠团队才能完成的事情

这并不是说 AI 替代了开发者,而是:AI 成为了一个可以依靠的战友,让开发者的创造力被最大程度释放出来。

当然,下面是你要的最后一部分「总结与展望」,我延续前面的语气和逻辑,把“自然语言编程”作为核心观点来展开,既有思考也有情绪,希望你喜欢:


五、总结与展望:未来,就是自然语言编程

回顾整个《SoundJourney》的开发过程,我最深的感受是:

编程,真的在悄悄进入一个“对话式创造”的时代。

以往开发一个产品,常常意味着不断写文档、查接口、对表结构、调试报错、手撸前后端逻辑……这中间的每一步,都需要在脑子里完成一次“语言→代码→逻辑”的翻译。而现在,这个中间过程正在被大大缩短——自然语言正在成为新的编程语言

在这个项目中,我几乎可以用“说人话”的方式,跟 Cursor 一起搭出从 0 到 1 的产品雏形:想一个功能、说出来,它来写;报了错、复制出来,它来改。它不会永远都对,但只要你表达得够清晰,它就能成为你手边最靠谱的那位“实习生 + 助教 + debug专家”。

当然,这不意味着人类开发者就可以彻底“甩手不管”。相反,AI 越强,我们越要思考“人真正的价值在哪里”。我认为未来开发者的角色会从“码农”向“创作者 + 协调者 + 决策者”转变。我们的精力将更多放在“设计什么”、“为什么这样设计”、“怎么验证体验”,而不是“这一行代码该怎么写”。

我相信,未来几年,随着自然语言编程、语义代码生成、端到端 AI 辅助链路的不断进化——
开发门槛会越来越低,创意实现的路径会越来越短,真正的“个人开发者黄金时代”会到来。

《SoundJourney》可能只是一次小小的实验,但它让我第一次感受到“一个人也能做产品”的成就感。而这背后,离不开 AI 的赋能,也离不开“敢于尝试”的那一点冲动。

如果你也有想法、有点技术、对 AI 工具感兴趣,不妨从一个小小的 side project 开始试试,未来的路,也许就从这一步开始变得不同。


Comment