專案介紹
Kit 是一款自架式書籤管理工具,解決瀏覽器書籤管理混亂的痛點。透過 Workspace、Tab、Folder 三層架構搭配標籤系統,讓使用者能以直覺的方式整理大量網路資源。
全端架構部署於 Cloudflare Pages,搭配 D1 Serverless SQLite 資料庫,實現零伺服器維護成本與全球邊緣運算的快速存取體驗。
核心功能
技術架構
前端
以 Remix (React Router v7) 為核心框架,搭配 shadcn/ui 元件庫與 Tailwind CSS 建構現代化介面。使用 Phosphor Icons 作為圖示系統,@dnd-kit 處理拖曳交互。
後端
執行於 Cloudflare Workers 邊緣運算環境,使用 Cloudflare D1 (SQLite) 作為資料庫,透過 Drizzle ORM 進行 Type-safe 的資料操作與 Migration 管理。
認證系統
自建 JWT 認證機制(jose),密碼使用 PBKDF2-SHA256(100,000 次迭代)進行雜湊,Cookie-based Session 管理,支援註冊白名單機制。
資料庫設計
使用 Cloudflare D1 (SQLite) 搭配 Drizzle ORM,涵蓋使用者、工作區、書籤內容、標籤系統與分享機制。
| 資料表 | 說明 | 關鍵欄位 |
|---|---|---|
| users | 使用者帳號 | id, email, password_hash |
| workspaces | 工作區(每位使用者可建立多個) | id, user_id, title, sort_order |
| tabs | 分頁(支援 folders / tags 兩種模式) | id, workspace_id, title, type |
API 設計
基於 Remix Action Handler 設計 RESTful 風格的 API 端點,透過 FormData 傳遞參數:
書籤管理 api.bookmarks
支援 CRUD、跨資料夾移動、批次排序更新
資料夾管理 api.folders
支援 CRUD、巢狀子資料夾、摺疊狀態切換
標籤系統 api.tags / api.tag-groups / api.bookmark-tags
標籤群組管理、標籤 CRUD、書籤標籤關聯操作
工作區與分頁 api.workspaces / api.tabs
多工作區切換、分頁模式管理(folders / tags)
分享系統 api.shares
產生唯讀分享連結、自訂短連結與額外按鈕





