參考:

Lighthouse

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