參考資料
系統分析文件、Acceptance Criteria & DoD、Task List
前端設計Figma
後端資料庫設計
User Story
前端設計稿的分析與元件的切分

| User Story | Acceptance Criteria | 
|---|---|
| 註冊/登入/登出 | |
| 除了註冊和登入頁,使用者一定要登入才能使用網站 | 使用錯誤的資訊(非account+password)登入,確認是否會無法登入,且顯示「帳號不存在!」的錯誤提示 | 
| 登入時,使用帳號 (account) 和密碼 (password) 登入網站 | 錯誤提示的樣式需參考 Bootstrap alert components | 
| 未登入的情況下,使用其他連結,確認是否會被擋回登入頁 | |
| 註冊/編輯使用者時,使用者可以設定 account、name、email 和 password | 註冊/編輯使用者帳號頁可以看見account、name、email、password和passwordCheck | 
| 使用者無法註冊為管理者 | |
| 使用重複的account操作會導致失敗,並跳出「account 已重複註冊!」的錯誤提示 | |
| 使用重複的email操作會導致失敗,並跳出「email 已重複註冊!」的錯誤提示 | |
| 使用過短(長度0)或者過長(長度超過50)的name操作會導致失敗 | |
| password和passwordCheck資訊不相等會導致失敗 | |
| *** account、name、password規則** | |
| account、name、email、password和passwordCheck為必填資訊,缺少或不正確的資訊將導致創建使用者失敗 | |
| 操作失敗會跳出錯誤提示 | |
| 註冊使用者成功後,會跳回登入頁 | |
| *** 編輯使用者成功後,會跳出成功提示** | |
| 錯誤提示的樣式需參考 Bootstrap alert components | |
| 使用者能編輯自己的暱稱、自我介紹、個人頭像與封面 | 暱稱長度上限為50字,輸入超過上限會直接在輸入框做錯誤提示 | 
| 自我介紹長度上限為160字,輸入超過上限會直接在輸入框做錯誤提示 | |
| *** 暱稱長度下限** | |
| 暱稱或者自我介紹不合規定,表單不會送出 | |
| 沒有個人頭像的情況下,使用預設頭像 | |
| 沒有個人封面的情況下,使用預設封面 | |
| 使用者編輯彈跳視窗出現時,不會導致頁面重新整理 | |
| 貼文留言 | |
| 使用者能在首頁瀏覽所有的推文 | 所有推文依照發文時間排序,最新的推文在上面 | 
| 每則推文會有推文內容、回覆數量和喜愛數量 | |
| 點擊貼文方塊時,能查看貼文與回覆串 | 點擊貼文方塊時,頁面會跳轉至該推文的頁面,下方會有回覆串 | 
| 回覆依照發文時間排序,最新的回覆在上面 | |
| 回覆不會有回覆數量和喜愛的數量 | |
| 使用者能回覆別人的推文 | 回覆內容為空白時,在輸入框顯示錯誤提示,且表單不會送出 | 
| *** 回覆內容超過140字時,在輸入框顯示錯誤提示,且表單不會送出** | |
| *** 若不符合規定,會跳回同一頁並顯示錯誤訊息 (這是什麼意思)** | |
| 使用者能新增推文 | 推文內容為空白時,在輸入框顯示錯誤提示,且表單不會送出 | 
| 推文內容超過140字時,在輸入框顯示錯誤提示,且表單不會送出 | |
| 點擊推文中使用者頭像時,能瀏覽該使用者的個人資料及推文 | 點擊推文中使用者頭像時,畫面跳轉到該使用者的個人資料頁面,並顯示該使用者推文的分頁 | 
| 使用者互動 | |
| 使用者可以追蹤/取消追蹤其他使用者 (不能追蹤自己) | 使用者追蹤尚未追蹤的使用者,追蹤成功後,追蹤按鈕會顯示「正在追蹤」的樣式 | 
| 使用者取消追蹤已經追蹤的使用者,取消追蹤成功後追蹤按鈕會顯示「追蹤」的樣式 | |
| 使用者在個人資料頁面時,不會顯示追蹤按鈕,而是會顯示「編輯個人資料」的按鈕 | |
| *** 使用者嘗試追蹤自己時,會出現錯誤** | |
| 使用者能對別人的推文按 Like/Unlike | 使用者對別人推文按 Like,成功後,該推文下方的愛心顯示為實心 | 
| 使用者對別人推文按 Unlike,成功後,該推文下方的愛心顯示為空心 | |
| *** 使用者也可以對自己的推文按 Like/Unlike** | |
| 數據摘要 | |
| 任何登入使用者都可以瀏覽特定使用者的以下資料 | |
| 推文 | 前述 | 
| 推文與回覆 | 前述 | 
| 跟隨中 | 該使用者的關注清單,排序依照追蹤紀錄成立的時間,愈新的在愈前面 | 
| 跟隨者 | 該使用者的跟隨者清單,排序依照追蹤紀錄成立的時間,愈新的在愈前面 | 
| 在關注清單和追隨者清單,可以對個別使用者操作追蹤或者取消追蹤 | |
| 喜歡的內容 | 該使用者 like 過的推文清單,排序依 like 紀錄成立的時間,愈新的在愈前面 | 
| 在 like 過的推文清單,可以對個別推文 Like 或 Unlike | |
| 使用者能在首頁的側邊欄,看見跟隨者 (followers) 數量排列前 10 的使用者推薦名單 | 在側邊欄顯示的使用者數最多為10人 | 
| 可以對側邊欄顯示的使用者追蹤或者取消追蹤 | |
| 後台 | |
| 管理者可從專門的後台登入頁面進入網站後台 | 管理者帳號無法登入前台 | 
| 使用者帳號無法登入後台 | |
| 使用錯誤的資訊(非account+password)登入,確認是否會無法登入,且顯示「帳號不存在!」的錯誤提示 | |
| 管理者可以瀏覽全站的 Tweet 清單 | 可以直接在清單上快覽推文的前 50 個字 | 
| 所有推文依照發文時間排序,最新的推文在上面 | |
| 可以在清單上直接刪除任何人的推文 | |
| 管理者可以瀏覽站內所有的使用者清單 | 每位使用者會顯示推文累積量、被like累積量、關注人數和跟隨者人數的數據 | 
| 使用者清單依照使用者的推文累積量做排序 (遞增/遞減) | |
| 種子資料設計 | |
| 種子帳號(含 DoD 指定測試帳號) | Admin (必須包括登入帳號 account: root, email: [email protected] | 
| , password: 12345678) | |
| 5 個一般使用者(其中必須包括登入帳號 account: user1, email: [email protected] | |
| , password: 12345678) | |
| 每個使用者有 10 篇 post | 每個一般使用者使用者有 10 篇推文 | 
| 每篇 post 有隨機 3 個留言者,每個人有 1 則留言 | 每則推文有任意三位回覆者,其中每位留言者有一則回覆 |