辞职在家期间使用 cursor 写的记账记事 APP,求 star

108 天前
 hulala1021

项目地址

项目特色

  1. 数据完全自主,支持本地化部署,可使用编译好的 docker 镜像部署在自己的 NAS 或云服务器上
  2. 支持多人协助,将账本分享给其它家庭成员,和其它家庭成员一起记账记事,且支持针对家庭成员账本权限管理(目前支持:账本:编辑、删除、账目:编辑删除)
  3. 跨平台支持(目前仅测试 IOS 端及 Android 端)
  4. 深浅色主题支持,及几种预置的颜色主题
  5. 基于 MIT 协议,项目完全开源

项目介绍

  1. 客户端基于 flutter 开发,理论上支持跨平台(目前仅测试了 IOS 与 android 端,release 中仅编译了 windows 、linux 、android 三个平台二进制文件)
  2. 后端同步服务基于 nodejs+typescript+nestjs ,支持本地托管,可托管在 NAS 上(需支持 docker )或自己的云服务器上,由于整个数据同步采用日志同步的方式,故而后端同步服务仅保存数据日志及其它少量用户数据,无太多密集 CPU 运算,所以即使配置很低的机器也可以正常运行使用;

项目开发历程

整个项目于使用 cursor 开发大概耗时 2 个月,其实主要开发时间大约 2~3 周应该就能完成,中间经过了好几次重构,还经历过一次推翻重来;

第一版(已经废弃)

本来采用调用后端接口的方式:所有数据存在服务端,即所有数据都是客户端都通过 API 调用获取展示,这样的话要有公网 IP 或需要通过内网穿透技术将后端服务暴露出来,在外面使用时体验不是很好且后端服务若宕机,整个客户端即处于不可用的状态,也考虑过使用客户端缓存,但是这样做整个设计就复杂了,旧版客户端地址https://github.com/clssw1004/clsswjz-app

第二版

本地存储有完整数据,后端仅暴露同步、鉴权等接口,在需要时进行数据同步,数据同步契机如下:

  1. 有新增行为时
  2. APP 启动时 这样后端服务即使无法公网访问也可正常使用,只需要在后端服务可访问时同步数据即可;
2334 次点击
所在节点    分享创造
11 条回复
xyxc0673
108 天前
已 Star ,对这里面的同步逻辑感兴趣,现在能处理多客户端同步冲突吗
VtoEXL
108 天前
不错,顶下
yb2313
108 天前
我觉得要是可以读取银行或者支付宝 app 流水才是真的记账之神, 因为人都是很懒的
gscsnm
108 天前
支持,现在在用钱迹 app ,用起来比较简洁,可供参考。
JacksonC
108 天前
所以这种要怎么盈利?
ggmood
108 天前
为啥不买一个帐号直接把 iOS 上架
hulala1021
108 天前
@xyxc0673 目前同步方式是将客户端所有数据增删改操作记录到一张日志表,向客户端同步时就是将未同步(从上次同步完成到最新的)的操作志上传到服务端,其它用户同步时会拉取未在本地同步过的日志,并解析这些日志将日志变更应用到客户端 sqlite 数据库,因为日志数据根据时间戳是线性的,所以不需要解决冲突
hulala1021
108 天前
@JacksonC 并不打算盈利,这个东西在我上大学实习期间就想做了,谁知一工作就是 10 年没有歇过,难得现在歇下来,就动手实现了
hulala1021
108 天前
@ggmood APP Store 会员费比较贵,且家里也没人用 iphone
89ao
105 天前
followad
102 天前
star 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1135136

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX