Files
DashBoard/openspec/changes/archive/2026-02-07-dashboard-vite-root-refactor/proposal.md
2026-02-08 08:30:48 +08:00

30 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Why
目前可執行程式碼位於 `DashBoard/` 子目錄,與 `DashBoard_vite` 根目錄的 OpenSpec/opsx 工作流分離,導致規格、實作與驗證不在同一專案根。需要以 `DashBoard` 為參考,將重構主體統一到 `DashBoard_vite` 根目錄,並同時導入 Vite 以改善前端可維護性與體驗。
## What Changes
-`DashBoard_vite` 根目錄建立可執行的重構專案骨架,參照既有 `DashBoard` 功能與路由。
- 維持 Flask/Gunicorn 單一對外 port導入 Vite 作為前端建置工具build artifact 由 Flask 提供)。
- 導覽由平鋪 tab 重構為功能抽屜(報表類、查詢類、開發工具類),保持既有業務操作路徑。
- 快取策略改為可運作的分層快取L1 記憶體 + L2 Redis不再使用 NoOp 做為預設。
- 建立前端顯示欄位與下載欄位的一致性規範,先修正已知不一致案例。
## Capabilities
### New Capabilities
- `root-project-restructure`: 以 `DashBoard` 為參考,將可運行的重構工程落在 `DashBoard_vite` 根目錄。
- `vite-single-port-integration`: Vite 建置結果整合進 Flask static維持單一 server/port 對外。
- `portal-drawer-navigation`: Portal 導覽改為抽屜分類且維持原頁面邏輯。
- `layered-route-cache`: 路由層快取改為 L1 memory + L2 Redis 的可用實作。
- `field-name-consistency`: 統一畫面欄位、API key 與匯出欄位命名/語義。
### Modified Capabilities
- None.
## Impact
- Affected codebase root: `DashBoard_vite`(新主工程落點)
- Reference baseline: `DashBoard/`(保留作比對與遷移來源)
- Affected systems: Flask app factory, templates, frontend build pipeline, deployment/start scripts, cache layer, export SQL/headers