项目背景和目标:为用户打造私密、便捷的个人日记记录平台,核心满足日记全生命周期管理需求,同时通过情绪追踪、标签分类等特色功能,帮助用户梳理心路历程。开发语言:前端 Vue 3(TypeScript)、后端 Nest.js(TypeScript)第三方:无(核心依赖为 lowdb 轻量级数据库,无外部第三方服务)功能如下:
1.日记管理,包括:创建日记(富文本输入、自动记录创建时间)、编辑日记(保留修改历史)、删除日记(单条 / 批量删除)、查看日记(按时间排序的阅读界面);
2.搜索与筛选,包括:全文搜索(标题 / 内容 / 标签关键词)、情绪筛选(开心 / 伤心等 6 种预设情绪)、时间范围查询、自定义标签分类管理;
3.情绪追踪,包括:6 种预设情绪记录、情绪分布 / 变化趋势可视化统计、情绪历史回顾;
4.数据管理,包括:基于 lowdb 的本地 JSON 数据库持久化存储、日记私密状态设置、日记数据导出备份;
5.基础能力,包括:全端响应式设计(适配 PC / 移动设备)、数据实时同步(Pinia 状态管理)。
1.该应用采用前后端分离架构,前端基于 Vue 3 + TypeScript + Pinia + Tailwind CSS 开发,借助 Vite 构建、ESLint 规范代码;后端使用 Nest.js + TypeScript + lowdb 实现,通过模块化设计解耦业务逻辑,整体依托 lowdb 实现轻量级零配置数据存储;
2.核心实现:完成日记 CRUD 全流程操作,落地全文搜索、情绪 / 日期筛选逻辑,搭建 6 种情绪的记录与统计分析体系,基于 Tailwind CSS 实现移动端适配;
3.技术亮点:全栈 TypeScript 保障类型安全与代码质量,前端采用 Vue 3 Composition API + Pinia 优化状态管理,通过懒加载、搜索防抖、状态缓存等手段完成性能优化,整体架构轻量化且模块化分层清晰。