# [User stories](https://lighthouse.alphacamp.co/courses/80/units/19668) ### 註冊/登入/登出 * 除了註冊和登入頁,使用者一定要登入才能使用網站。當使用者尚未註冊便試圖登入時,會有錯誤提示。 * 錯誤提示文案:帳號不存在! * 錯誤提示樣式請參考 UI 設計稿 * 頁面重新整理後顯示錯誤提示(後端驗證) * 註冊時,使用者可以設定 account、name、email 和 password * name:平常顯示的暱稱,如 Ellen Lee,上限 50 字 * account:如 ellenlee,必須是獨一無二的,在設計稿上看到的 @ellenlee 的前綴 @ 為 前端自動生成,非資料的一部分。用意是在前端版面上呈現 name/account 的差異 ![image alt](https://assets-lighthouse.alphacamp.co/uploads/image/file/20176/___2022-02-14_21.23.52.png) <br> * 使用者能編輯自己的 account、name、email 和 password * 註冊/編輯時,account 和 email 不能與其他人重複,若有重複會跳出錯誤提示 * 錯誤提示文案:「account 已重複註冊!」或「email 已重複註冊!」 * 頁面重新整理後顯示錯誤提示(後端驗證) * 使用者能編輯自己的名稱、自我介紹、個人頭像與封面 * 自我介紹數字上限 160 字、暱稱上限 50 字 * 錯誤提示文案:字數超出上限! * 直接防止表單送出(前端驗證) * 錯誤提示樣式請參考設計稿中,Basic Element 的頁面 ### 種子資料設計 * 種子帳號(含指定測試帳號): * Admin (必須包括登入帳號 account: root, email: root@example.com, password: 12345678) * 至少提供 5 個一般使用者(其中必須包括登入帳號 account: user1, email: user1@example.com, password: 12345678) * 每個使用者有 10 篇 tweet * 每篇 tweet 有隨機 3 個留言者,每個人有 1 則留言 ### 貼文留言 * 使用者能在首頁瀏覽所有的推文 (tweet) * 所有 Tweets 依 create 日期排序,最新的在前 * 點擊貼文方塊時,能查看貼文與回覆串 * 使用者能回覆別人的推文 * 回覆文字不能為空白 * 錯誤提示文案:內容不可空白 * 直接防止表單送出(前端驗證) * 若不符合規定,會跳回同一頁並顯示錯誤訊息 * 使用者無法回覆他人回覆,也無法針對他人的按 Like/Unlike * 點擊貼文中使用者頭像時,能瀏覽該使用者的個人資料及推文 * 使用者能新增推文 * 推文字數限制在 140 以內 * 錯誤提示文案:內容不可空白 * 直接防止表單送出(前端驗證) * 推文不能為空白(文案與樣式請參考設計稿) ### 使用者互動 * 使用者可以追蹤/取消追蹤其他使用者 (不能追蹤自己) * 使用者能對別人的推文按 Like/Unlike * 使用者能編輯自己的名稱、介紹、大頭照和個人頁橫幅背景 * 個人頁面橫幅背景預設為設計稿中的山景圖 ### 數據摘要 * 任何登入使用者都可以瀏覽特定使用者的以下資料: * 推文 (Tweets):排序依日期,最新的在前 * 推文與回覆:使用者回覆過的內容,排序依日期,最新的在前 * 跟隨中 (Following):該使用者的關注清單,排序依照追蹤 * 紀錄成立的時間,愈新的在愈前面 * 跟隨者 (Follower):該使用者的跟隨者清單,排序依照追 * 蹤紀錄成立的時間,愈新的在愈前面 * 喜歡的內容 (Like):該使用者 like 過的推文清單,排序 * 依 like 紀錄成立的時間,愈新的在愈前面 * 使用者能在首頁的側邊欄,看見跟隨者 (followers) 數量排列前 10 的推薦跟隨名單 ### 後台 * 管理者可從專門的後台登入頁面進入網站後台 * 管理者帳號不可登入前台,詳見[【角色權限】](/T69viuh-TraDtLLOI_C0iQ)單元說明 * 若使用管理帳號登入前台,或使用一般使用者帳號登入後台,等同於「帳號不存在」 * 管理者可以瀏覽全站的 Tweet 清單 * 可以直接在清單上快覽 Tweet 的前 50 個字 * 可以在清單上直接刪除任何人的推文 * 管理者可以瀏覽站內所有的使用者清單 (參照圖片),清單的資訊包括 * 使用者社群活躍數據,包括: ![image alt](https://assets-lighthouse.alphacamp.co/uploads/image/file/20175/twitter.png) * 推文數量(指使用者的 Tweet 累積總量) * 關注人數 * 跟隨者人數 * 推文被 like 的數量(指使用者的 Tweet 獲得 like 的累積總量) * 使用者清單預設按推文數排序,由多至少 \ \ [回到首頁](https://hackmd.io/@2022-Oct-Twitter/Hk9m-Pn-j/%2Feax7gnB7R3KcclDqf27iDA%3Fview) ###### tags: `規格`