← 返回

商業應用程式

NRG Commerce

以全端 monorepo 組織公開網站、商品目錄、後台、API、聯絡服務、資料庫與共用系統的電商平台。

  • SvelteKit
  • TypeScript
  • PostgreSQL
  • pnpm workspace
  • Cloudflare

背景與目標

NRG Commerce 是產品專案,目標是探索可維護商業電商系統所需的架構,而不是只製作單一商店頁面。

角色與責任

我負責設計儲存庫邊界、實作全端應用程式與共用套件,並維護開發及部署流程。本專案不會被描述成委託客戶專案。

規劃與實作

儲存庫分離公開呈現、商品目錄、管理後台、API、聯絡處理、資料庫與共用設定。各項責任與變更邊界保持明確,不將所有功能集中在單一應用程式中。

可見店面使用實驗室玻璃器材的呈現方式與可瀏覽商品分類;更完整的儲存庫則處理截圖看不到的工作,包括商品資料、管理操作、API 契約、資料庫變更、共用設定、聯絡傳送、驗證與部署。這項分離讓公開瀏覽流程可以獨立分析,不會被誤認為整個電商系統。

適合情況、交付物與排除項目

本案例最接近需要多個協同介面與持久化資料的企業網站或小型全端應用程式。相關交付物包含儲存庫與套件邊界、型別化應用契約、公開目錄行為、管理介面、API 與資料層、可測試共用模組與部署設定。

這是獨立產品專案,不是受委託實作、客戶採用、交易量、營收或正式服務等級保證的證據。公開畫面與儲存庫也不能取代付款、庫存權威來源、稅務、出貨、隱私、安全、無障礙、移轉與營運支援等專案探索。

技術架構

  • 使用 pnpm workspace 組織可部署應用程式與共用套件
  • 分離公開網站、商品目錄、管理後台、API 與聯絡服務
  • 共用資料庫、結構定義、元件、SEO 與設定套件
  • 應用程式邊界之間使用型別化契約
  • 以 CI 驗證與部署為導向的儲存庫結構

關鍵決策

monorepo 優先採用明確套件責任,而不是過早拆分微服務。只有在多個應用程式確實需要相同契約或實作時才抽取共用程式碼。

monorepo 會增加協調成本,因此此處以多個可部署應用程式與共用領域契約作為採用理由。它讓相關變更可以一起審查,同時讓各應用程式維持明確責任;這與把所有路由、背景工作與資料操作放進單一未區分套件不同。

風險與審查問題

電商工作包含作品截圖無法回答的風險:資料正確性、存取控制、第三方失敗、破壞性管理操作、移轉品質與持續營運責任。類似委託在固定範圍前,需要確認權威資料、使用者角色、整合契約、復原行為與驗收檢查。

公開實作可作為架構與流程決策的證據,但不應被當成未知受規範、高流量或舊系統環境的認證。

已驗證結果

公開儲存庫與線上專案可驗證已實作的架構與流程。作品集中使用的畫面與範例必須為合成或去識別資料,不宣稱外部客戶採用或營收成果。

下一步

有明確問題需要解決嗎?

提供範圍、預算區間與目標時程;通常會在兩個工作天內回覆。

委託專案