專案概覽
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 資料連接到自己的工具或財務工作流。






