工程開發
bunjs-architecture avatar

bunjs-architecture

為 Bun.js 應用程式實施整潔架構:分層模式(路由/控制器/服務/儲存庫)、camelCase 命名慣例、Prisma 綱要設計及結構化實作工作流程。

簡介

bunjs-architecture 技能為使用 Bun.js 和 TypeScript 構建可維護、可擴展且型別安全的後端應用程式提供了全面的框架。它專為優先考慮整潔架構模式和嚴格職責分離,以避免複雜系統中技術債的資深開發人員與團隊所設計。透過強制執行嚴格的分層方法,該技能確保業務邏輯與 HTTP 處理和資料庫持久性解耦,從而促進程式碼庫的測試、重構和長期維護。

  • 實作嚴格的四層架構:路由 (API/中介軟體) → 控制器 (請求/響應) → 服務 (業務邏輯) → 儲存庫 (Prisma 資料庫存取)。

  • 在所有層級強制執行不可妥協的 camelCase 命名慣例,包括 JSON REST API 欄位、Zod 綱要、TypeScript 介面以及資料庫識別碼 (資料表、欄位、外鍵)。

  • 提供有關依賴流的架構指導,防止向上依賴 (例如服務存取控制器),並推動單向向下的資料流。

  • 包含 Prisma 綱要建模的最佳實踐,例如單數模型命名與 @@map 資料表對應、一致的時間戳記後綴,以及布林欄位前綴 (is/has/can)。

  • 優化全端開發體驗,確保資料庫綱要與前端資料結構之間的 1:1 對應,無需繁瑣的轉換層或對應工具函式。

  • 提供定義 API 端點規範並將其對應到內部邏輯層的結構化實作工作流程。

  • 在啟動新的 Bun.js 專案或重構舊模組以採用整潔程式碼原則時使用此技能。

  • 始終保持層級隔離:控制器絕不應包含業務邏輯,服務絕不應直接存取 HTTP 上下文,例如請求或響應物件。

  • 利用此技能標準化命名,確保端到端的型別安全,並為您的 API 合約提供完美的 IDE 自動完成支援。

  • 嚴格遵循已定義的依賴流;僅在不違反職責分離的情況下才跨層級,但編排時始終建議透過服務層進行。

  • 參考相關技能,例如 dev:bunjs 用於基本伺服器設定、dev:bunjs-production 用於部署策略,以及 dev:bunjs-apidog 用於 OpenAPI/Swagger 整合。

倉庫統計

Star 數
255
Fork 數
31
Open Issue 數
7
主要語言
TypeScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年4月30日 上午11:16
在 GitHub 查看