标签: PWA

  • Cent – 开源的多人协作记账 Web App,完全免费,基于 GitHub 实现数据跨平台实时同步,无需服务器

    Cent 是一个“纯前端”的 PWA 应用。除 GitHub OAuth 登录外,Cent 不依赖任何后端服务。基于 GitHub 仓库 实现数据同步与版本控制,无需服务器,即可实现跨平台实时同步。

    作为一个SPA,它部署在Cloudflare Pages上,仅仅使用了一个自定义域名,你也可以fork仓库部署到自己的服务器中,通过手动输入Github token来使用。正因如此,Cent的部署成本几乎为零。

    在Cent中新建一个账本(Book),实际上是新建了一个Github 仓库,Cent通过仓库名来识别账本,在那之后,所有的数据同步操作实际上都是对仓库的读写,也正因如此,Cent天然支持多人协作,只需要在Github仓库添加协作者,就可以共享同一份账本数据。

    Cent内部实现了增量同步策略,只上传和下载增量数据,将同步时长尽可能压缩。关于增量同步的原理,后续我也会出更为详细的技术解析。实际上,Cent也对同步层做了简单的抽象,在后期可以增加更多的同步端点,例如个人网盘,自建服务器等等,不必局限于Github。

    项目截图

    项目特性

    🔒 完全开源:部署成本几乎为零,代码完全可审计、可自建。

    💾 数据完全自持:账本数据保存在你的 GitHub 私人仓库中,无需任何第三方服务器。

    👥 多人协作:通过 GitHub Collaborator 功能即可共享账本,实时同步修改。

    ⚡️ 增量同步:只上传/下载变更数据,大幅缩短同步时间。

    📊 丰富的统计分析:支持多维度筛选与走势分析,可自定义分析视图。

    🏷️ 分类与标签系统:支持二级分类、自定义标签、图标、排序。

    💰 预算管理:按分类或标签设置预算并实时监控进度。

    🖼️ 附件支持:可为账单上传图片附件。

    📱 PWA 支持:可安装到桌面,像原生 App 一样使用,支持 iOS 与 Android。

    部署使用

    方式一:直接使用线上版本

    1. 打开 https://cent.linkai.work
    2. 使用 GitHub 登录授权
    3. 新建账本(将自动创建一个仓库)
    4. 开始记账 🎉

    方式二:自行部署

    1. Fork 本仓库
    2. 在 Cloudflare Pages 或任意静态托管平台部署
    3. 在登录界面手动输入 GitHub Token 使用
    4. 所有账本与数据均存储于你的 GitHub 仓库中

    项目地址

    🔗 在线体验https://cent.linkai.work
    💾 开源仓库https://github.com/glink25/Cent
    📖 博客https://glink25.github.io/tag/Cent/