背景
今年被几个订阅扣了不少钱,所以想找一个订阅管理软件,但是没有找到满意的,大多数订阅管理软件中每一条记录都只能有一个价格,一个连续周期。
但是我有不少订阅的价格一直在变化(从折扣到原价,改变订阅套餐等)。我希望能够在一个订阅里管理价格的变化,并能统计相关支出和提醒。
所以打算自己写一个。然后开始考虑是做一个APP还是小程序。相比较而言的话,小程序的开发成本更低,而且不需要用户安装,并且现在APP通知有点被滥用,可能提醒效果还不如小程序,所以决定先做一个小程序。
开发体验
小程序从2018年开始就已经火了,现在都已经2024年了,相关文档,教程,工具都已经很成熟了。所以整体开发体验算是相当流畅了(抛开测试部份)。
不过小程序认证以及版本审核还是有点繁琐的。如果是企业帐号应该会方便不少,但是个人的话,只能跟着相关条款修改了。
开发工具
用的都是比较常见的技术栈了。
-
前端
- 微信开发者工具
-
后端
- App: Nodejs + Nestjs
- Data: Python + FastAPI
-
数据库
- Sqlite
- MongoDB
-
缓存
- Dragonfly (Redis)
-
部署
- Kubernetes (测试环境)
- Docker Compose (生产环境)
生产环境架构

部署在一台阿里云的机器上,使用Docker Compose管理容器,毕竟只有一个机器,Kubernetes有点大材小用。
使用Traefik作为反向代理,同时也是HTTPS证书管理工具(Let’s encrypt)。
部署了一个MongoDB Express,并没有向外暴露,方便查看和管理MongoDB。
开发流程

毕竟是个小项目,所以开发流程尽量简单。利用Github Actions做CI/CD,每次push都会自动运行测试,然后release分支会打包Image并推送到Docker Hub。
然后在Kubernetes(测试环境)上拉取最新的Image做测试。最后没问题再部署到生产环境。
其他
暂时先分享这么多,贴上一个小程序的二维码,万一被有缘人看见了,欢迎体验。

评论