Some checks failed
CD Pipeline / deploy (push) Failing after 59s
- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml) - 部署模式: rsync Python 檔案至 188 → docker restart (volume mount) - Dockerfile/requirements 變動時自動重建 Docker image - 部署通知: Telegram (開始/成功/失敗) - 健康檢查: https://mo.wooo.work/health (最多 5 次重試) - 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
231 lines
6.4 KiB
Markdown
231 lines
6.4 KiB
Markdown
# 每日業績儀表板 - 實作檢查清單
|
||
|
||
## 📋 Phase 1: 資料庫與後端基礎 (預計 2-3 天)
|
||
|
||
### 資料庫設計
|
||
- [ ] 建立 `daily_sales` 表格(完整欄位對應 realtime_sales_monthly)
|
||
- [ ] 建立 `daily_sales_summary` 表格(每日統計摘要)
|
||
- [ ] 建立必要索引(日期、商品ID、訂單編號)
|
||
- [ ] 撰寫資料庫 migration 腳本
|
||
- [ ] 測試資料庫結構
|
||
|
||
### Excel 匯入後端
|
||
- [ ] 安裝 `pandas` 和 `openpyxl` 套件
|
||
- [ ] 實作 Excel 檔案讀取功能
|
||
- [ ] 實作欄位驗證邏輯
|
||
- [ ] 必填欄位檢查
|
||
- [ ] 日期格式驗證
|
||
- [ ] 數值型別驗證
|
||
- [ ] 實作重複訂單處理邏輯
|
||
- [ ] 實作批次寫入功能(使用 transaction)
|
||
- [ ] 實作匯入結果回報
|
||
|
||
### API 端點開發
|
||
- [ ] `POST /api/daily_sales/validate` - 驗證 Excel 檔案
|
||
- [ ] `POST /api/daily_sales/import` - 匯入資料
|
||
- [ ] `GET /api/daily_sales/calendar` - 取得月度資料
|
||
- [ ] `GET /api/daily_sales/detail` - 取得單日詳情
|
||
- [ ] `GET /api/daily_sales/compare` - 業績對比
|
||
- [ ] `GET /api/daily_sales/trends` - 趨勢資料
|
||
- [ ] `GET /api/daily_sales/top_products` - 熱銷商品
|
||
|
||
### 業績計算邏輯
|
||
- [ ] 實作每日統計摘要計算
|
||
- [ ] 實作 DoD (日對日) 成長率計算
|
||
- [ ] 實作 WoW (週對週同日) 成長率計算
|
||
- [ ] 實作 MoM (月對月) 成長率計算
|
||
- [ ] 實作 YoY (年對年) 成長率計算
|
||
- [ ] 撰寫單元測試
|
||
|
||
---
|
||
|
||
## 🎨 Phase 2: 前端開發 (預計 3-4 天)
|
||
|
||
### 頁面架構
|
||
- [ ] 建立新路由 `/daily_sales`
|
||
- [ ] 建立 HTML 模板(延續現有設計風格)
|
||
- [ ] 整合 Bootstrap 5.3 樣式
|
||
- [ ] 加入 Font Awesome 圖示
|
||
- [ ] 響應式設計測試
|
||
|
||
### 行事曆整合
|
||
- [ ] 安裝 FullCalendar.js
|
||
- [ ] 初始化行事曆元件
|
||
- [ ] 客製化日期格子樣式
|
||
- [ ] 顯示每日業績摘要
|
||
- [ ] 總業績金額
|
||
- [ ] 成長率指標
|
||
- [ ] 狀態顏色(紅/綠/灰)
|
||
- [ ] 實作月份切換功能
|
||
- [ ] 實作「今天」快速跳轉
|
||
|
||
### Excel 匯入介面
|
||
- [ ] 設計檔案上傳區域(拖拉或點選)
|
||
- [ ] 整合 SheetJS (xlsx) 前端處理
|
||
- [ ] 實作檔案預覽功能(顯示前 10 筆)
|
||
- [ ] 實作驗證結果顯示
|
||
- [ ] 實作進度條顯示(匯入中)
|
||
- [ ] 實作匯入結果摘要(成功/失敗筆數)
|
||
- [ ] 錯誤訊息友善顯示
|
||
|
||
### 日期詳情 Modal
|
||
- [ ] 設計 Modal 視窗
|
||
- [ ] 顯示當日完整統計
|
||
- [ ] 總業績、訂單數、客單價
|
||
- [ ] Top 10 熱銷商品表格
|
||
- [ ] 各類別業績圓餅圖
|
||
- [ ] 時段業績折線圖
|
||
- [ ] 實作資料載入動畫
|
||
|
||
---
|
||
|
||
## 📊 Phase 3: 對比分析與視覺化 (預計 2-3 天)
|
||
|
||
### 業績對比功能
|
||
- [ ] 設計對比控制面板
|
||
- [ ] 日期選擇器(date picker)
|
||
- [ ] 對比類型選擇(DoD/WoW/MoM/YoY)
|
||
- [ ] 「對比」按鈕
|
||
- [ ] 實作對比結果顯示
|
||
- [ ] 指標對比表格
|
||
- [ ] 差異數值和百分比
|
||
- [ ] 上升/下降箭頭圖示
|
||
|
||
### Chart.js 圖表
|
||
- [ ] 業績趨勢折線圖(過去 30 天)
|
||
- [ ] 顯示業績曲線
|
||
- [ ] 標註特殊日期(活動日)
|
||
- [ ] 懸停顯示詳細數據
|
||
- [ ] 週同日對比長條圖
|
||
- [ ] 顯示過去 4 週同日數據
|
||
- [ ] 標示成長率
|
||
- [ ] 顏色區分正負成長
|
||
- [ ] 熱銷商品水平長條圖
|
||
- [ ] Top 10 商品排名
|
||
- [ ] 顯示銷售件數
|
||
- [ ] 類別業績圓餅圖
|
||
- [ ] 各商品館佔比
|
||
- [ ] 懸停顯示百分比
|
||
|
||
### 儀表板卡片
|
||
- [ ] 設計 4 張 KPI 卡片
|
||
- [ ] 今日業績卡片
|
||
- [ ] 本週業績卡片
|
||
- [ ] 本月業績卡片
|
||
- [ ] 熱銷商品卡片
|
||
- [ ] 實作卡片 hover 動畫
|
||
- [ ] 實作即時更新
|
||
|
||
---
|
||
|
||
## 🔗 Phase 4: 整合與優化 (預計 2-3 天)
|
||
|
||
### 與現有儀表板整合
|
||
- [ ] 在 `/sales_analysis` 加入「每日業績」連結
|
||
- [ ] 在 `/sales_analysis` 顯示「今日業績快覽」卡片
|
||
- [ ] 實作資料累加邏輯
|
||
- [ ] 定時任務(每日凌晨 00:30)
|
||
- [ ] 將 daily_sales 累加到 realtime_sales_monthly
|
||
- [ ] 更新導航列,加入「每日業績」選項
|
||
|
||
### 定時任務
|
||
- [ ] 安裝排程工具(APScheduler 或 cron)
|
||
- [ ] 撰寫每日統計計算任務
|
||
- [ ] 撰寫成長率計算任務
|
||
- [ ] 撰寫資料累加任務
|
||
- [ ] 測試定時執行
|
||
|
||
### 效能優化
|
||
- [ ] 資料庫查詢優化(使用索引)
|
||
- [ ] API 回應快取(Redis)
|
||
- [ ] 前端分頁載入
|
||
- [ ] 大量資料匯入使用背景任務
|
||
- [ ] 壓縮圖表資料大小
|
||
|
||
### 測試
|
||
- [ ] 單元測試(後端邏輯)
|
||
- [ ] API 測試(使用 Postman/pytest)
|
||
- [ ] 前端功能測試
|
||
- [ ] Excel 匯入流程
|
||
- [ ] 行事曆互動
|
||
- [ ] 對比分析功能
|
||
- [ ] 圖表顯示
|
||
- [ ] 整合測試(完整流程)
|
||
- [ ] 瀏覽器相容性測試
|
||
- [ ] 行動裝置測試
|
||
|
||
---
|
||
|
||
## ✅ 上線前檢查
|
||
|
||
### 資料備份
|
||
- [ ] 建立自動備份機制
|
||
- [ ] 測試資料還原流程
|
||
|
||
### 文件
|
||
- [ ] 撰寫使用者操作手冊
|
||
- [ ] 撰寫 API 文件
|
||
- [ ] 更新系統架構文件
|
||
|
||
### 安全性
|
||
- [ ] 檔案上傳大小限制
|
||
- [ ] 檔案類型驗證
|
||
- [ ] SQL Injection 防護
|
||
- [ ] XSS 防護
|
||
- [ ] CSRF Token
|
||
|
||
### 效能
|
||
- [ ] 頁面載入速度測試 (< 3 秒)
|
||
- [ ] API 回應時間測試 (< 500ms)
|
||
- [ ] 大量資料匯入測試 (10,000+ 筆)
|
||
|
||
### 部署
|
||
- [ ] 更新依賴套件清單(requirements.txt)
|
||
- [ ] 更新資料庫 migration
|
||
- [ ] 設定環境變數
|
||
- [ ] 重啟服務測試
|
||
|
||
---
|
||
|
||
## 📝 額外功能(選配)
|
||
|
||
### 進階功能
|
||
- [ ] 業績目標設定介面
|
||
- [ ] 目標達成率追蹤
|
||
- [ ] 業績預測(使用移動平均)
|
||
- [ ] 異常檢測(業績驟降警示)
|
||
- [ ] Email 通知(業績報表)
|
||
- [ ] 資料匯出(Excel/PDF)
|
||
|
||
### 行動支援
|
||
- [ ] 優化行事曆行動版顯示
|
||
- [ ] 手勢操作(滑動切換月份)
|
||
- [ ] PWA 支援(離線查看)
|
||
|
||
---
|
||
|
||
## 🎯 開發時間估算
|
||
|
||
| 階段 | 預計天數 | 備註 |
|
||
|------|---------|------|
|
||
| Phase 1: 後端基礎 | 2-3 天 | 資料庫 + API |
|
||
| Phase 2: 前端開發 | 3-4 天 | UI + 匯入功能 |
|
||
| Phase 3: 對比分析 | 2-3 天 | 圖表 + 計算 |
|
||
| Phase 4: 整合優化 | 2-3 天 | 測試 + 上線 |
|
||
| **總計** | **9-13 天** | |
|
||
|
||
---
|
||
|
||
## 💡 重要提醒
|
||
|
||
1. **先做 MVP**:優先完成核心功能(匯入 + 行事曆顯示),再逐步加入對比分析
|
||
2. **增量開發**:每完成一個 Phase 就進行測試和驗證
|
||
3. **保持溝通**:每個階段結束後與需求方確認
|
||
4. **文件先行**:確保資料庫設計和 API 規格文件完整
|
||
5. **備份優先**:匯入前必須備份現有資料
|
||
|
||
---
|
||
|
||
**準備開始時間**: 2026-01-13(明天)
|
||
**預計完成時間**: 2026-01-24
|