公司动态

Vibe Coding一人即团队系列32:基于自然语言驱动的后端功能清单梳理与开发协同策略

📅 2026/8/29 21:28:13
Vibe Coding一人即团队系列32:基于自然语言驱动的后端功能清单梳理与开发协同策略
概述在构建基于 Vibe Coding 工作流的全栈应用时一个常见挑战是如何将模糊的产品愿景转化为 LLM 能够精确执行的开发指令。继上一阶段完成登录、注册及退出登录的核心认证模块后本阶段的核心任务不再是编写具体代码而是进行一项至关重要的前期规划——梳理完整的后端核心业务功能清单。这份清单不仅充当产品需求文档更是与Claude Code等 AI 编程助手高效协作的“结构化提示词工程”。本文档将详细拆解某记账应用的六大核心功能模块明确其数据交互逻辑、业务规则及边界场景旨在帮助开发者构建精准的上下文从而指导 AI 生成高质量、可直接集成的后端代码。概述本项目基于 Vibe Coding 实践旨在构建一个全栈记账应用。后端服务需提供 RESTful API 或 GraphQL 接口前端则通过接口调用实现数据持久化。所有功能模块必须与关系型数据库如 PostgreSQL 或 MySQL深度集成确保数据的一致性、完整性与查询性能。核心功能大纲以下是本应用的后端核心业务功能清单涵盖了从数据维护到数据可视化的完整链路。用户与系统设置模块账户管理账户信息的持久化增删改查分类管理收支分类的持久化增删改查用户头像头像文件上传与 URL 持久化交易记录模块记账操作新增收支记录关联数据校验分类与账户的有效性验证明细列表模块条件筛选按类型支出/收入/全部与月份查询分页加载基于游标或偏移量的无限滚动/传统分页首页看板模块月度汇总实时计算收入、支出、结余分类排行支出金额最高的前 N 个分类最近流水按时间倒序展示最近记账明细统计报表模块年份筛选切换统计维度年份年度汇总按年统计收入支出结余分类饼图支出分类占比统计趋势折线图月度收支走势数据导出生成 Excel 报表.xlsx辅助逻辑输入校验金额字段的严格数字格式校验错误处理数据库约束冲突与业务异常捕获功能模块详解与技术实现策略设置页面主数据维护设置页面是所有基础数据Master Data的入口其核心在于实现前端输入与数据库存储的同步。在 Vibe Coding 开发中需要明确描述实体关系。账户管理功能描述实现对用户自有资金账户如支付宝、微信、银行卡、现金的新增、编辑与删除。技术实现API 设计设计/api/accounts的 RESTful 路由。数据交互操作需持久化至accounts数据表包含id,user_id,name,balance,created_at等字段。级联处理删除账户时需校验是否存在关联的交易记录若有则应返回错误提示或实现软删除。分类管理功能描述管理支出与收入的标签如餐饮、交通、工资。技术实现API 设计设计/api/categories路由。数据模型字段需包含id,user_id,name,type枚举EXPENSE/INCOME,icon等。关联约束删除分类时需校验是否有历史交易使用该分类。用户头像功能描述支持用户上传新图片作为头像。技术实现文件上传后端需集成文件上传中间件如Multer或FastAPI的UploadFile。存储策略将图片存储至云存储如 AWS S3阿里云 OSS或本地静态目录并将访问 URL 更新至users表的avatar字段。记账操作交易核心这是应用中使用频率最高的功能需保证数据的原子性。功能描述用户记录一笔新的收入或支出。技术实现关联校验提交数据时需校验category_id和account_id是否存在且属于当前用户。金额处理金额字段使用Decimal类型避免浮点数精度丢失。数据写入将记录写入transactions表字段包含id,user_id,amount,type,category_id,account_id,note,transaction_date。计算逻辑账户余额更新通常通过数据库触发器或在事务中手动更新accounts.balance字段。明细列表数据查询与分页功能描述展示所有历史交易记录是用户查看历史的核心窗口。技术实现多条件查询SQL 需支持按type和date月份筛选。使用索引优化查询性能。分组排序数据需按月份分组内部按transaction_date DESC排序。分页策略Web 端鼠标滚动推荐使用LIMIT ? OFFSET ?或基于cursor游标的分页方式如WHERE id ? ORDER BY id DESC LIMIT 20。移动端上滑加载通常使用LIMIT ? OFFSET ?配合加载更多按钮或无限滚动监听。数据量级单页固定返回 20 条以提高响应速度。首页看板实时数据聚合功能描述提供月度财务概览作为用户启动应用后的仪表盘。技术实现涉及复杂聚合查询月度汇总使用SUM(CASE WHEN type INCOME THEN amount ELSE 0 END)计算收入。使用SUM(CASE WHEN type EXPENSE THEN amount ELSE 0 END)计算支出。结余 收入 - 支出。需添加WHERE user_id ? AND YEAR(transaction_date) ? AND MONTH(transaction_date) ?条件。分类支出 TOP 3查询本月的支出记录按category_id分组并计算SUM(amount)。排序后取前 3 条并关联categories表获取名称。最近记账列表查询本月记录按transaction_date DESC排序取前 3-5 条。此处建议使用复合索引(user_id, transaction_date)以提升性能。统计报表数据分析与导出统计模块的数据处理量较大建议通过异步任务或优化的单次查询完成。功能描述提供年度收支趋势图、分类占比饼图及数据导出能力。技术实现年份选择器API 接收year参数返回该年 1-12 月的汇总数据。年度汇总逻辑与首页月度汇总类似仅将GROUP BY维度改为YEAR(transaction_date)。支出分类饼图数据查询指定年份的支出记录按category_id分组聚合金额。返回前端格式[{ name: 餐饮, value: 1000 }, ...]。收支趋势折线图构建一个包含 1-12 月的查询结果集若无数据则返回 0。返回支出和收入两个数组或包含month维度的对象数组。Excel 导出使用库如ExcelJS(Node.js) 或openpyxl(Python) 生成.xlsx文件。设置响应头Content-Disposition: attachment; filenamereport.xlsx。注意该功能通常仅桌面端浏览器支持较佳移动端可通过邮件或分享链接替代。开发协同策略在Claude Code或类似工具中为获得最佳代码生成效果建议采用以下结构化描述语法明确上下文指明技术栈如Spring Boot 3 MyBatis-Plus或Python FastAPI SQLAlchemy。定义数据模型在 Prompt 中附带CREATE TABLE语句。指定入参与出参使用 JSON Schema 或 TypeScript Interface 描述 API 契约。技术栈概览基于当前主流微服务及全栈开发趋势推荐以下技术组合层级技术选项备注后端框架Python FastAPI/Node.js Express/Spring Boot选用熟悉的技术栈以提升开发效率数据库PostgreSQL/MySQL建议使用PostgreSQL以支持更复杂的聚合查询ORMSQLAlchemy/Prisma/MyBatis-Plus简化数据库交互自动处理 SQL 注入防护认证鉴权JWT(JSON Web Token)目前登录方案的主流选择实现无状态认证文件存储MinIO/AWS S3/ 本地存储生产环境建议使用对象存储导出库ExcelJS/openpyxl/Apache POI根据语言生态选择总结本文通过对记账应用六大核心功能模块的梳理展示了在 Vibe Coding 实践中精确的需求结构化比编写代码本身更具决定性作用。通过明确数据模型、业务规则及边界条件开发者能够构建高质量的上下文引导 AI 生成具备生产环境标准的后端代码。其关键在于主数据维护确保账户、分类等基础数据的 CRUD 与数据库强一致。核心交易强调数据完整性校验和事务管理。聚合查询利用数据库特性实现实时统计通过索引优化性能。工具扩展导出、图表数据等功能的实现依赖于对三方库的准确调用描述。