Diary日记软件开发日志
最近一段时间,我一直在探索使用Trae、cursor、Kiro等AI编程软件来编写自己的程序。在这几周内,我突发奇想,想要开发一款TOC的日记+笔记软件。于是,我决定利用我现有的技术栈来开发这款Diary日记软件。前端我选择了Vue和Vite,后端则采用了Springboot和mybatis,数据库则使用了Postgresql。
首先,让我来展示一下这个软件的界面设计。我使用Figma-make来制作前端页面,只需给出提示词,它就能自动生成前端页面。由于我暂时还没有学会Docker,所以软件都是在我本地运行的。不过,由于我的用户名是中文,所以在本地安装Postgresql时遇到了不少问题,有机会的话,我会再写一篇博客来详细记录。
接下来,我将介绍这个软件的功能。它包括注册、登录、写日记、画画、打字练习、社区、读书、思维导图等。在使用AI进行编程时,我发现最大的难点在于如何确保AI搭建的初始脚手架是可运行的。有时候,AI会给出一些相互排斥的依赖,导致项目无法正常运行。我的建议是,要么深入学习提示词工程,要么让AI自己来提供提示词。另外,当AI面对复杂场景时,需要尽可能详细的提示词,否则做出来的产品肯定会有很多漏洞。
现在,让我来展示一下软件的页面。首先是注册和登录页面,用户创建账户并登录后,会跳转到主页。进入主页后,左侧是软件的功能模块,包括查看日记、查找日记、日常话题比赛、书架、社区、数据分析、垃圾箱、打字练习、绘画、思维导图等。
新建日记页面支持Markdown文档格式,可以预览,支持边预览边写日记,也支持快捷键操作,比如常见的Ctrl+S进行保存等。在设置中,用户可以自定义快捷键。发布日记/笔记时,可以选择private或share,这决定了你的日记/笔记是否会在社区页面展示。此外,还支持语音转文字,以及天气查询等小功能。
搜索页面允许用户根据日历筛选或通过日记标题、标签等进行搜索。写故事页面是我随意添加的一个功能,为了让软件更有趣,我设置了一个每日命题作文,用户可以参与比赛,通过社区投票选出前三名。社区中保证一人一票机制,对于参与比赛的故事,会显示爱心图标代表投票,未参与的是点赞图标。
社区页面主要展示用户共享的日记/笔记,并支持评论功能,支持多级评论。在设计软件时,我认为作为日记/笔记软件,并不需要添加好友功能,所以只搭建了简单的社区分享功能。
数据分析页面主要记录用户写的日记数量,并以可视化的形式展示给用户。打字练习页面是我偶然看到一个创意,即放置一个3D键盘,用户打字时可以在屏幕上的3D键盘上进行动态交互,我觉得这个创意很好,所以实现了一下,不过目前只支持中英文。
画板页面支持用户画出自己的一天,并支持AI挑选日记,根据日记内容生成用户想要的图片。这里我原本打算使用Google的香蕉模型,但由于API调用费用过高,暂时搁置了。
思维导图页是我认为最有用的页面之一。目前的思维导图我使用起来不太习惯,所以创建了一个思维导图模块,支持无限画布和无限节点。最重要的是导出时没有水印,不受他人限制!
最后是设置页面,用户可以修改邮箱和密码,修改快捷键操作,支持日记导出为三种格式,支持light和dark模式。之后还计划添加一些其他模块。
如果你对这个项目感兴趣,欢迎加入我们的行列,一起维护这个项目,或者开发一些新模块。我是开源小白,希望找到大佬们来帮助我成长。
评论已关闭