Subscriptly - 周期付款管理

Subscriptly 用来管理订阅和其他周期付款。它的价值不在于做一个好看的仪表盘,而在于认真处理日期、货币、导入、备份、恢复,以及只保存在本机或同步到用户个人 iCloud 的选择。

进行中 内部 TestFlight · 持续开发中 源码私有 · 仅通过内部 TestFlight 分发
  • SwiftUI
  • SwiftData
  • CloudKit
  • Kotlin Multiplatform
  • 精确金额
  • 备份与恢复

Swift 验证

374 项测试

最近一次核验的仓库快照包含 46 个测试套件。

共享核心验证

247 项检查

分别在 JVM 和 iOS Simulator arm64 目标上运行。

UI 发布检查

9 项测试

聚焦发布关键流程,不用覆盖率数字装饰结果。

分发状态

内部 TestFlight

不是公开测试,也没有在 App Store 上架。

产品真正难在哪里

周期付款到了边界就不再简单:月底附近的续费锚点、不能漂移的汇率换算,以及必须保留金额和历史的恢复流程。

我把这些规则直接建模,而不是散落在界面里。iOS 产品使用共享 Kotlin 领域核心处理计费规则,界面、本地持久化和可选的用户个人 iCloud 路径仍保持 Apple 平台原生实现。

支撑产品的设计决定

金额保持精确

金额使用最小货币单位并显式处理币种,计费逻辑不会依赖浮点数。

计费日期就是日历日期

续费锚点和不带时区的日历日,避免设备跨时区后把普通日期悄悄挪动。

恢复是用户能看见的流程

备份、还原、冲突处理,以及保存在本地还是同步到用户个人 iCloud,都是明确的产品路径,不藏在实现细节里。

可核验的材料

招聘审阅时,我可以展示产品规则如何连接到发布验证,同时保持源码仓库私有。

  • SwiftUI、SwiftData、CloudKit 与共享 KMP 计费核心之间的架构边界
  • 续费锚点、最小货币单位、导入、备份、恢复和冲突行为测试
  • 面向发布的 Swift、Kotlin、UI 和设备构建证据
  • Android 早期验证范围,不会写成完整的跨平台产品

当前发布边界

Subscriptly 会如实呈现为内容扎实、但仍在开发中的作品。

  • 目前仅通过内部 TestFlight 使用;公开 TestFlight 页面并不接收新测试者。
  • 没有 App Store 上架、银行连接、自动银行同步、理财建议或税务建议声明。
  • Android 仍是早期验证,不是已经完成的跨平台应用。
  • 剩余真机验收和 CloudKit 多设备收敛不会被写成已经完成。

可以安排非公开讲解

在真实招聘流程中,我可以讲解领域模型、架构、恢复路径和精选测试证据;仓库本身仍保持私有。