---
# System prepended metadata

title: '[User stories](https://lighthouse.alphacamp.co/courses/80/units/19668)'
tags: [規格]

---

# [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: `規格`