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。
部署使用
方式一:直接使用线上版本
打开 https://cent.linkai.work
使用 GitHub 登录授权
新建账本(将自动创建一个仓库)
开始记账 🎉
方式二:自行部署
Fork 本仓库
在 Cloudflare Pages 或任意静态托管平台部署
在登录界面手动输入 GitHub Token 使用
所有账本与数据均存储于你的 GitHub 仓库中
项目地址
🔗 在线体验 :https://cent.linkai.work 💾 开源仓库 :https://github.com/glink25/Cent 📖 博客 :https://glink25.github.io/tag/Cent/