參考:
User Story | Acceptance Criteria(前端) | Acceptance Criteria(後端) |
---|---|---|
註冊 | ||
使用者可以設定 account、name、email 和 password | 在註冊時能看見 account、name、email、password | 註冊成功回傳使用者資料,任一資料不完整回傳錯誤:資料不完整 |
account 必須是獨一無二的 | 如果account 重複回傳account 已被取名 | 如果account 重複回傳錯誤:account 已被取名 |
email 必須是獨一無二的 | 如果email 重複回傳email 已被註冊過 | 如果email 重複回傳email 已被註冊過 |
name(暱稱)上限 50 字 | 超過 50 字回傳字數超過上限,在暱稱前方加上前綴 @ | 超過 50 字回傳錯誤:字數超過上限 |
登入 | ||
使用者一定要登入才能使用網站 | 未登入導回註冊頁面 | 未登入回傳status:401&未授權 |
輸入account(帳號)、密碼不符時顯示錯誤訊息 | 在登入頁面顯示錯誤訊息 | |
登出 | ||
登出功能 | 導覽列有登出按鈕可以登出 | |
種子資料設計 | ||
1個後台帳號 | Admin (必須包括登入帳號 account: root, email: [email protected], password: 12345678) | |
1個前台帳號 | user1(必須包括登入帳號 account: user1, email: [email protected], password: 12345678) | |
另外4個一般前台帳號 | user n(必須包括登入帳號 account: user n, email: user [email protected], password: 12345678)( n = 2~5 ) | |
每個使用者有 10 篇 post | user n 每人10篇post (n = 1~5 ) | |
每篇 post 有隨機 3 個留言者,每個人有 1 則留言 | 每篇 post 有隨機 3 個留言者,每個留言者留 1 則留言 | |
貼文留言 | ||
使用者能在首頁瀏覽所有的推文 (tweet) | 在首頁顯示所有推文 | 把所有推文依照生成日期新到舊的順序,傳給前端 |
點擊貼文方塊時,能查看貼文與回覆串 | 在特定貼文的頁面顯示貼文及所有回覆 | 把特定推文的資料及該貼文的回覆(依照舊到新)傳給前端 |
使用者能回覆別人的推文 | 貼文下方有留言的地方,留言不能為空字串,若沒打內容就送出留言,跳錯誤訊息 | 留言不能為空字串,若為空字串,則回傳錯誤訊息 |
點擊貼文中使用者頭像時,能瀏覽該使用者的個人資料及推文 | 特定使用者頁面顯示個人資料及他發的推文 | 把特定使用者的個人資料及他發的推文(依照新到舊),傳給前端 |
使用者能新增推文 | 在首頁(?)可以新增推文 | |
推文字數限制在 140 以內,超過回傳錯誤訊息 | 推文字數限制在 140 以內,超過回傳錯誤訊息 | |
推文不能為空字串,,若沒打內容就送出推文,跳錯誤訊息 | 推文不能為空字串,若為空字串,則回傳錯誤訊息 | |
使用者互動 | ||
使用者可以追蹤/取消追蹤其他使用者 (不能追蹤自己) | 可以點擊follow 追蹤其他人,追縱後按鈕顯示為取消追蹤再次點擊按鈕即可取消追蹤 | 追蹤對象的id 不可以跟現在登入者(token)的人一樣,若相同回傳錯誤訊息 |
使用者能對別人的推文按 Like/Unlike | 可以點擊推文的like(unlike) 按鈕,like(unlike) 這則推文 | 根據網址列的id 更新推文的like(unlike)統計數字,並回傳被點擊的推文資料 |
使用者能編輯自己的 account、name、email 和 password | 在使用者個人頁面有編輯按鈕可以編輯個人資料 | |
編輯後account不能跟別人重複,重複回傳錯誤 | 編輯後account不能跟別人重複,重複回傳錯誤 | |
編輯後email 不能跟別人重複,重複回傳錯誤 | 編輯後email 不能跟別人重複,重複回傳錯誤 | |
使用者能編輯自己的暱稱、自我介紹、個人頭像與封面 | 自我介紹數字上限 160 字,超過上限回傳錯誤:字數超過上限 | 自我介紹數字上限 160 字,超過上限回傳錯誤:字數超過上限 |
暱稱上限 50 字,超過上限回傳錯誤:字數超過上限 | 暱稱上限 50 字,超過上限回傳錯誤:字數超過上限 | |
數據摘要 | ||
任何登入使用者都可以瀏覽特定使用者的推文 (Tweets) | 在特定使用者的個人頁面,顯示所有推文,最新到最舊 | 將特定使用者的所有推文依照日期新到舊,回傳給前端 |
任何登入使用者都可以瀏覽特定使用者的回覆 | 在特定使用者的個人頁面,顯示使用者回覆過的內容,最新到最舊 | 將特定使用者的回覆推文的留言依照日期新到舊,回傳給前端 |
任何登入使用者都可以瀏覽特定使用者的關注清單 | 在特定使用者的個人頁面,顯示使用者追蹤對象,最新到最舊 | 將特定使用者的追蹤對象依照追蹤日期新到舊,回傳給前端 |
任何登入使用者都可以瀏覽特定使用者的追隨者清單 | 在特定使用者的個人頁面,顯示追蹤該使用者的所有人,最新到最舊 | 將特定使用者的追蹤者依照日期新到舊,回傳給前端 |
任何登入使用者都可以瀏覽特定使用者的 like 過的推文清單 | 在特定使用者的個人頁面,顯示使用者like 過的推文,最新到最舊 | 將特定使用者like 過的推文依照日期新到舊,回傳給前端 |
使用者能在首頁的側邊欄,看見跟隨者 (followers) 數量排列前 10 的使用者推薦名單 | 使用者能在首頁的側邊欄,看見跟隨者 (followers) 數量排列前 10 的使用者推薦名單 | 將追蹤者最多的前 10 名使用者依照第一到第十,回傳給前端 |
後臺 | ||
管理者可從專門的後台登入頁面進入網站後台 | 在前台登入頁面顯示後台登入的按鈕 | |
後台登入按鈕點擊後顯示後台登入的表單 | ||
管理者帳號不可登入前台 | 在前台登入頁面輸入root 資料顯示錯誤訊息 | 根據網址列的id 搜尋資料庫資料檢查是否為一般使用者,若為root 則回傳錯誤:status:404&帳號不存在 |
一般使用者帳號不可登入後台 | 在前台登入頁面輸入非root 資料顯示錯誤訊息 | 根據網址列的id 搜尋資料庫資料檢查是否為root,若為一般使用者 則回傳錯誤:status:404&帳號不存在 |
管理者可以瀏覽全站的 Tweet 清單 | 後台推文頁顯示所有推文 | 回傳所有推文 |
每則 Tweet 顯示前 50 個字 | ||
管理者可以在清單上直接刪除任何人的推文 | 每則推文上有一個刪除推文的案紐 | 根據網址列的id 搜尋推文並刪除,回傳被刪除的推文 |
管理者可以瀏覽站內所有的使用者清單 | 後台使用者清單頁顯示所有使用者,並依照使用者推文數排序 | 回傳所有使用者的資料,包括使用者的推文數、關注人數、追隨者人數、推文被 like 的數量,並依照使用者推文數排序 |
後台使用者清單頁顯示所有使用者的推文數、關注人數、追隨者人數、推文被 like 的數量 |
https://docs.google.com/spreadsheets/d/1xcVOOyq4vUMVtGSvjGL46GSC_Kp8Unebzx3GXm-DXXw/edit#gid=0