背景與動機
在專案初期,SEO 團隊主要透過 十多份 Google Sheets 管理多品牌、多客戶的專案資料與成效追蹤,然而隨著業務成長,既有流程逐漸出現結構性問題:
- 效能瓶頸:資料量增加後,表單載入速度明顯下降
- 資料正確性不足:缺乏欄位驗證,人工填寫錯誤頻繁
- 跨部門協作困難:表單公式相互依賴,調整時容易連鎖失效
- 多人同時編輯風險高:資料被誤動導致後續報表錯誤
我在此專案中主導 CRM 系統的重新設計與開發,目標是:
- 將分散於 Google Sheets 的資料 集中化、結構化
- 提升系統的 維護性、自動化程度與擴充彈性
- 為未來對外提供客戶成效報表預先設計權限與架構
系統架構
- 前端:React、Blueprint.js、Tailwind CSS
- 後端:Ruby on Rails
- 資料庫:PostgreSQL
- 背景工作:Sidekiq、Redis
- 測試:RSpec、FactoryBot
- 部署:Heroku
- 第三方:AWS SES、Google Cloud Platform
主要功能
- 登入與權限管理
- 使用 Google OAuth 實作登入流程
- 區分內部員工與未來可能開放的外部客戶角色
- 客戶與合約管理
- 集中管理多品牌、多客戶的合約與專案資訊
- 提供一致的資料結構,避免重複填寫與人工錯誤
- 數據整合與成效追蹤
- 串接 Google Search Console(GSC) 與 Google Analytics(GA) API
- 自動抓取 SEO 成效數據並整合至系統 Dashboard 讓專案成效可被即時追蹤與回顧
- 發票與帳款管理
- 串接第三方發票 API,實作 一鍵開立雲端發票
- 系統自動計算金額並完整記錄帳款狀態
- 減少約 60% 人工處理時間,大幅降低錯誤率
- 系統通知
- 透過 AWS SES 發送系統通知與報表信件
- 背景任務由 Sidekiq 處理,避免影響主流程效能