前言
某天刷着抖音,大数据精准推送的产品又成功勾起了我的购买欲,我熟练地按下支付密码,结果却弹出 “余额不足” 的提示。我急忙打开银行 app,却发现卡里的钱不知去向,我甚至毫无头绪,完全不知道钱花在了哪里。痛定思痛,我决定开始记账。
在市面上有不少优秀的记账工具,像鲨鱼记账、随手记,还有微信自带记账小程序。面对这么多选择,不知道用哪个比较好呢?这时我发现自己原来是个程序员,为什么不自己开发一款记账工具?这个决定背后藏着双重私心:作为开发者,我可以从零到一的去开发部署小程序,从中熟悉整个流程;而作为普通消费者,我可以知道自己的每笔支出的去向和收入的来源,以此来控制一些不必要的开销。
其中 笨鸟记账
(可以通过微信小程序名称搜索体验)是我的开发成果,目前仅支持基本的记账功能以及可以通过分享实现多人记账,欢迎各位大佬来体验体验,一起讨论学习,指出不足。
框架
在开发中,整体的框架,后端服务选择 node + nest
进行搭建,因为之前开发的 博客系统 也是用nest框架搭建服务,为了节省开发成本所以选择继续沿用;前端的话则是使用 UNIAPP
来手撸整个小程序。
前端碰壁
在ui上,对于前端来说,如果没有设计稿,那就是纯靠自己的一个审美,还有一些现成的记账app来临摹。在ui上主要有参考支付宝的记账本,因为我觉得它交互和视觉上挺不错的。整体的ui大部分还是有融入自己的一些想法来进行设计,包括也有去一些ai的设计稿网站去汲取灵感。
在技术实现上,应该是没有太大的难点,有遇到的可能就是一些图片资源展示不出来,因为资源是存储在腾讯云的cos
上,加上自己用了域名去nginx
转发映射,在小程序后台上配置了域名,图片不展示,配置了防盗链的白名单还是不展示,最后发现是没有https的证书,于是去申请免费的证书解决。
后端思考
开发过程中,对于我一个前端来说后端的难点主要是数据表的设计,怎样设计合理点?以下只是我的个人见解。
在设计中,除了自己大学以前学过一些sql基础,还有咨询了一些后端的同学的建议,最终完成了设计。其中主要就是账本与记账人的关系,就是一个多对多的关系,即一个记账人可以有多个账本,一个账本也可以多人记账,所以就是需要三张表:账本表,用户表、两者的中间表。在登录中关于token的一些时效性,也用到了 Redis
缓存。
总结
在这整一个开发的过程中,学习到了很多,有后端的思维,ui的理念,还有一些网络的知识,这些东西就像一块块拼图,逐渐填补和梳理着我的前端知识体系。所以我一直以来坚信 实践见真知
,不管做什么事情,只有实践了,踩坑了,才会从中学习并成长。所以,无论是工作、学习还是日常生活,我都将始终秉持实践精神,不断丰富自己,向着更高的目标迈进。