# Issue Board 系統檢查清單

## ✅ 已完成的項目

### 資料庫
- [x] 建立 issues 資料表遷移檔案
- [x] 建立 issue_replies 資料表遷移檔案
- [x] 支援樹狀結構（parent_id）

### 模型
- [x] Issue 模型（含關聯關係）
- [x] IssueReply 模型（含樹狀結構）
- [x] 狀態與優先級標籤方法

### 控制器
- [x] IssueController 完整 CRUD
- [x] 回覆功能（storeReply）
- [x] 編輯回覆功能（editReply, updateReply）
- [x] 完結問題功能（close）
- [x] 重新開啟問題功能（reopen）
- [x] 權限檢查（管理員/建立者）

### 視圖
- [x] 問題列表頁（index.blade.php）
- [x] 新增問題頁（create.blade.php）
- [x] 問題詳情頁（show.blade.php）
- [x] 編輯問題頁（edit.blade.php）
- [x] 編輯回覆頁（edit-reply.blade.php）
- [x] 回覆組件（reply.blade.php）- 支援樹狀結構

### 路由
- [x] Resource 路由（issues）
- [x] 回覆路由
- [x] 完結/重新開啟路由

### 整合
- [x] 左側選單新增「問題追蹤板」
- [x] DashboardController 新增 Issue 通知
- [x] 通知鈴鐺顯示逾期問題與指派問題

### 樣式與 UX
- [x] 完結問題顯示刪除線
- [x] 逾期問題紅色警示
- [x] 優先級顏色標示
- [x] 樹狀回覆縮排

---

## 🎯 功能驗證清單

### 執行資料庫遷移
```bash
cd c:\laragon\www\worker-system
php artisan migrate
```

### 測試步驟

1. **新增問題**
   - 訪問 `/issues`
   - 點擊「新增問題」
   - 填寫表單並提交
   - ✅ 確認問題成功建立

2. **回覆問題**
   - 進入問題詳情頁
   - 在底部回覆表單輸入內容
   - 提交回覆
   - ✅ 確認回覆成功顯示

3. **樹狀回覆**
   - 點擊某個回覆的「回覆」按鈕
   - 輸入子回覆
   - ✅ 確認子回覆正確縮排顯示

4. **編輯回覆**
   - 找到自己的回覆
   - 點擊「編輯」按鈕
   - 修改內容
   - ✅ 確認只能編輯自己的回覆

5. **完結問題**
   - 點擊「完結問題」按鈕
   - ✅ 確認問題顯示刪除線
   - ✅ 確認問題變為灰色

6. **通知系統**
   - 建立一個逾期問題（due_date 設為過去時間）
   - 返回儀表板
   - ✅ 確認小鈴鐺顯示通知數量

7. **權限測試**
   - 以一般用戶登入
   - 嘗試編輯他人的問題
   - ✅ 確認無法編輯
   - 嘗試刪除他人的問題
   - ✅ 確認無法刪除

---

## 📋 待執行的命令

### 1. 資料庫遷移
```bash
php artisan migrate
```

### 2. 清除快取
```bash
php artisan config:clear
php artisan route:clear
php artisan view:clear
```

### 3. 測試路由
```bash
php artisan route:list | findstr issues
```

---

## 🔧 故障排除

### 如果資料庫遷移失敗

檢查 `.env` 檔案中的資料庫連線設定：
```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=worker_system
DB_USERNAME=root
DB_PASSWORD=
```

### 如果視圖找不到

確認檔案路徑正確：
```
resources/views/issues/index.blade.php
resources/views/issues/create.blade.php
resources/views/issues/show.blade.php
resources/views/issues/edit.blade.php
resources/views/issues/edit-reply.blade.php
resources/views/issues/partials/reply.blade.php
```

### 如果通知不顯示

確認 DashboardController 已更新：
- 檔案位置：`app/Http/Controllers/DashboardController.php`
- 應包含 `$issueNotifications` 變數

---

## 📊 系統需求

- PHP >= 8.1
- Laravel >= 10.0
- MySQL >= 5.7
- Bootstrap 5
- Bootstrap Icons

---

## 📝 備註

- 所有檔案使用 UTF-8 編碼
- 繁體中文介面
- 支援響應式設計
- 符合 WCAG 2.1 無障礙標準

---

**建立時間**：2026-08-27  
**系統版本**：1.0  
**相容系統**：勞工與宿舍管理系統
