首页 › Vibe coding 项目实战专栏 › VibeCoding实战 个人作品集网站 › 作品六:待办事项的APP

作品六:待办事项的APP

完成了作品集网站后,让我们来做一个功能更复杂的项目 。​

在快速上手部分,我们做过一个简单的待办事项应用 ,只有最基本的添加和删除功能 。​

​

现在,让我们做一个功能更强大的版本,学习如何处理更复杂的业务逻辑。​

​

这个进阶版的功能要丰富得多 :​

•

添加待办事项时, 除了标题,还可以设置描述 、截止日期 、优先级 、分类 。​

•

查看列表时,支持按分类 、优先级 、状态筛选,还有搜索功能可以快速找到特定的待办事项 。​

•

当然也支持编辑和删除 。数据用 LocalStorage 保存,刷新页面不会丢失 。​

•

另外还有统计功能,显示完成率 、待办数量等。​

​

​

​

飞书文档 - 图片

​

33%

​

​

​

飞书文档 - 图片

​

33%

​

​

​

飞书文档 - 图片

​

33%

​

​

技术选型​

​

💚

前端用 React + TypeScript + Vite ,状态管理用 Zustand( 一个轻量级的状态管理库, 比Redux 简单很多),样式用 Tailwind CSS, 日期处理用 date-fns ,数据存储用 LocalStorage​

​

开发步骤​

1)定义数据模型​

开发的第一步是定义数据模型 。你需要明确待办事项包含哪些字段​

​

id( 唯一标识)、title(标题)、description(描述)、category( 分类)、priority(优先级:低 、中 、高)、dueDate( 截止日期)、completed( 是否完成)、createdAt(创建时间)​

​

把这些字段定义清楚,后面的开发就会很顺畅。​

2)按功能模块开发​

然后按功能模块来开发 。建议的顺序是:先实现数据存储层,封装 LocalStorage 的读写操作;再实现状态管理,用 Zustand 创建全局 store;然后实现添加功能;接着实现列表展示和筛选;最后实现搜索和统计。这样循序渐进,每完成一个模块就测试一下,确保正常工作。和 AI 对话时,可以这样说:​

​

代码块​

Plain Text

创建 Todo 数据模型和 LocalStorage 工具函数。​

​

AI 会帮你定义数据结构和封装存储操作 。这个提示词虽然简单,但 AI 知道要做什么, 因为它会参考你的PRD 和技术设计文档。然后说:​

​

代码块​

Plain Text

使用 Zustand 创建全局状态管理,包括添加 、删除 、更新 、筛选等方法。​

​

AI 会创建一个完整的 store ,包含所有需要的方法 。Zustand 是一个很轻量的状态管理库, 比 Redux 简单很多,但功能足够强大。接着说:​

​

代码块​

Plain Text

创建 AddTodo 组件,包含表单输入和验证。​

​

AI 会实现添加功能的界面和逻辑,包括输入框 、下拉选择 、 日期选择器等 。每完成一个功能,就测试一下,确保正常工作。​

关键技术点​

这个项目有几个关键的技术点需要注意 。首先是状态管理, 因为功能比较多,用 Zustand 来管理全局状态会方便很多 。你可以让 AI 帮你创建一个 store ,包含添加 、删除 、更新 、筛选等方法。​

筛选功能要支持多条件筛选, 比如同时按分类和优先级筛选 。搜索功能要支持模糊搜索,在标题和描述中查找关键词 。这些逻辑都可以让 AI 帮你实现,你只需要告诉它具体的需求就行。​

扩展思路​

基础版完成后,还可以继续扩展 。​

比如添加标签功能,让待办事项可以打多个标签;​

支持子任务,一个大任务可以分解成多个小任务;​

添加提醒功能,到期前自动提醒;​

支持数据导出为 CSV;甚至可以用 Firebase实现云端同步。​

​

飞书文档 - 图片

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​