Luke a Pro

Luke Sun

Developer & Marketer

🇺🇦
EN||
TickBase 市場資料 API 落地頁

TickBase

production
SaaSAPIGoLaravelReactAstroPostgreSQLRedisTimescaleDBDockerCloudflareMarket DataData WorkflowBilling

專案概覽

TickBase 是一個面向開發者的市場資料平台,涵蓋外匯匯率、貴金屬、歷史時序資料與換算場景。它會採集市場資料輸入,統一規範成內部 schema,快取最新快照,保存歷史資料,並透過帶有速率限制的 API 對外提供服務。

這是一個由我獨立企劃、設計、編碼、部署與維護的 SaaS 產品。它面向需要可靠市場資料基礎設施的開發者,降低他們自行搭建資料採集、帳戶系統、配額控制、計費與部署流程的成本。

架構介紹

  • Polyglot monorepo - 專案由 Go 服務(apps/api-goapps/collector-goapps/monitor-go)、Laravel 帳戶服務(apps/account)、React Router v7 dashboard(apps/dashboard)、Astro 官網(apps/website)以及共享的 plan、type、API 文件套件組成。
  • 市場資料採集 - collector-go 透過 ingestion adapter layer 採集外匯與貴金屬資料,並完成 normalization、validation、dedupe、最新快照與歷史 tick 持久化。
  • USD-pivot 模型 - TickBase 只採集 USD 計價資料。非 USD 外匯組合、貴金屬報價與換算結果會在讀取時透過最新 USD cross-rate 推導,讓採集面保持精簡,同時保留 API 的彈性。
  • Cache-first 公共 API - api-go 提供唯讀 REST API,涵蓋 FX、metals、symbols、status、historical data、conversion 與 OHLC 查詢。讀取優先走 Redis,必要時回落到 PostgreSQL / TimescaleDB。
  • 權益與計費 - Laravel account service 負責註冊、Sanctum SPA authentication、API key 生命週期、plan 狀態、Stripe Cashier billing,以及把 entitlement 分發到 Redis。api-go 驗證 API key 時不會直接讀取帳戶資料庫。
  • 速率限制與配額 - 請求同時受到 per-IP safeguard、per-key rate limit 與 per-account monthly quota 控制。Live key 會計入用量,test key 可用於整合測試且不消耗月度配額。
  • 生產部署 - thetickbase.comdashboard.thetickbase.com 部署在 Cloudflare Pages,api.thetickbase.comaccount.thetickbase.com 透過 Cloudflare Tunnel 進入 VPS 上的 Docker Compose stack。Origin 不開放公網入站連接埠。
  • 資料邊界 - 帳戶資料與市場資料使用獨立 PostgreSQL database。Go API 對市場資料庫使用 read-only role,並且沒有 Laravel 帳戶資料庫權限。

核心功能

  • 統一市場資料 API - 提供最新與歷史外匯匯率、貴金屬現貨價格、換算介面、symbol metadata、data status 與 OHLC 聚合。
  • 開發者接入流程 - Dashboard 支援 API key 建立、輪換、撤銷、用量查看與 billing plan 管理。
  • Plan-based access control - Free、Developer、Business plan 對應不同的月度配額、速率限制、歷史深度、multi-base 權限、OHLC 支援與 active key 數量上限。
  • 維運監控 - 內部 monitor 會檢查 API health、Redis、TimescaleDB freshness 與 public status data,協助及時發現生產問題。
  • 低維運基礎設施 - Frontend 由邊緣靜態託管,backend 容器化執行,使用 GHCR image release、one-shot migrator 與 Cloudflare Tunnel 維持較小且可維護的生產部署面。

Related Projects

Submeto - 無需後端的表單提交服務

Submeto

一個 backend-as-a-service 平台,讓你無需撰寫伺服器程式碼即可收集表單提交資料。

SaaSAPIPHPLaravel +7
RosettaChat 多語言聊天產品落地頁

RosettaChat

一個多語言即時聊天平台,參與者可以用自己的語言輸入,並用自己的語言閱讀所有訊息。

SaaSAPILaravelReact +10
MarkNest
ongoing

MarkNest

一個無干擾的 Markdown 寫作與分享平台,內建媒體管理與存取控制功能。

Next.jsLaravelPostgreSQLRedis +2
BizTrust Academy

BizTrust Academy

一套用於追蹤員工課程、記錄學習反思並衡量學習成果實際落地情況的學習管理系統。

SaaSLMSPHPLaravel +4
Kakeibo 個人財務記帳落地頁

Kakeibo

一個面向個人、家庭與小團隊的協作財務記帳 SaaS,用於管理帳戶、交易、分類、報表與共享資金流程。

SaaSFinanceAPILaravel +9