项目概览
Kakeibo 是一个面向个人、家庭与小团队的协作财务记账产品。它帮助用户记录账户、收入、支出、分类、标签、附件、报表与共享资金流程,同时避免把日常预算管理变成过重的会计软件。
这是一个由我独立企划、设计、编码、部署与维护的 SaaS 产品。产品围绕真实的家庭财务场景设计:个人模式用于个人账本,团队模式用于共享账本,付费计划则承载家庭协作能力。
架构介绍
- Monorepo product surface - 项目使用 pnpm monorepo 组织,包含 Astro 官网(
apps/website)、React Router v7 dashboard(apps/dashboard)、Laravel 12 API backend(apps/backend)、Expo mobile app(apps/mobile)与共享 API contract(packages/shared-api)。 - 静态公开官网 -
kakei.io使用 Astro 5 构建,包含多语言公开页面、legal pages、pricing、FAQ 与 developer API documentation。 - 认证 dashboard -
app.kakei.io是 React Router v7 SPA,使用 TypeScript、TailwindCSS、DaisyUI、Redux Toolkit、RTK Query、Zod 与可复用 API contract package。 - Laravel API backend - 后端提供 accounts、transactions、categories、tags、files、teams、reports、billing、user profile 与 public developer access 等 REST API。Sanctum 负责 token-based authentication。
- Mobile app surface - Expo app 使用 Expo Router、NativeWind、Redux Toolkit、RTK Query 与
expo-secure-store处理 mobile PAT authentication,并与 web dashboard 共享 endpoint definition。 - 个人与团队 scope - API resource 分为
/api/v1/me/...个人模式与/api/v1/teams/{team}/...协作财务模式。Team context 放在 URL path 中,让资源边界清晰且可 bookmark。 - Immutable ledger model - 已入账交易的金额不会原地修改。错误通过 voiding 和追加 reversal entry 修正,running balance 则从 ledger history 推导。
- Public developer API - 独立的
/api/public/v1namespace 为付费用户提供基于 API key 的整合入口,并与 app-facing API contract 隔离。 - Billing 与 plan gates - Laravel Cashier 与 Stripe 负责 subscription、trial、checkout、billing portal,以及 family/team collaboration 的 plan gate。
核心功能
- 收支记录 - Transaction 可包含 account、currency、category、date、description、tags、file attachments 与可选的 necessity rating。
- 家庭协作 - Team mode 支持伴侣、家庭、室友或小团队以 role-based access 管理共享财务记录。
- 账户与余额 - 用户可以管理多个账户与币种,并在交易历史中保持 ledger consistency。
- 报表分析 - Dashboard reports 按时间范围汇总 spending totals、category distribution 与 time-series trends。
- Passwordless authentication - 使用 OTP / magic-link 风格登录,让 web 与 mobile onboarding 保持轻量。
- Developer access - API key 与公开文档让用户可以把 Kakeibo 数据连接到自己的工具或财务工作流。






