V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hulala1021
V2EX  ›  分享创造

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

  •  1
     
  •   hulala1021 · 8 天前 · 1763 次点击

    项目地址

    项目特色

    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 启动时 这样后端服务即使无法公网访问也可正常使用,只需要在后端服务可访问时同步数据即可;
    11 条回复    2025-06-04 08:49:43 +08:00
    xyxc0673
        1
    xyxc0673  
       8 天前
    已 Star ,对这里面的同步逻辑感兴趣,现在能处理多客户端同步冲突吗
    VtoEXL
        2
    VtoEXL  
       8 天前
    不错,顶下
    yb2313
        3
    yb2313  
       8 天前
    我觉得要是可以读取银行或者支付宝 app 流水才是真的记账之神, 因为人都是很懒的
    gscsnm
        4
    gscsnm  
       7 天前
    支持,现在在用钱迹 app ,用起来比较简洁,可供参考。
    JacksonC
        5
    JacksonC  
       7 天前
    所以这种要怎么盈利?
    ggmood
        6
    ggmood  
       7 天前 via iPhone
    为啥不买一个帐号直接把 iOS 上架
    hulala1021
        7
    hulala1021  
    OP
       7 天前
    @xyxc0673 目前同步方式是将客户端所有数据增删改操作记录到一张日志表,向客户端同步时就是将未同步(从上次同步完成到最新的)的操作志上传到服务端,其它用户同步时会拉取未在本地同步过的日志,并解析这些日志将日志变更应用到客户端 sqlite 数据库,因为日志数据根据时间戳是线性的,所以不需要解决冲突
    hulala1021
        8
    hulala1021  
    OP
       7 天前
    @JacksonC 并不打算盈利,这个东西在我上大学实习期间就想做了,谁知一工作就是 10 年没有歇过,难得现在歇下来,就动手实现了
    hulala1021
        9
    hulala1021  
    OP
       7 天前
    @ggmood APP Store 会员费比较贵,且家里也没人用 iphone
    89ao
        10
    89ao  
       5 天前
    followad
        11
    followad  
       2 天前 via iPhone
    star 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5577 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:41 · PVG 14:41 · LAX 23:41 · JFK 02:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.