30 lines
1.7 KiB
Markdown
30 lines
1.7 KiB
Markdown
## 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
|