---
# System prepended metadata

title: User Stories

---

# User Stories 
### 1.註冊/登入/登出
- [x] 除了註冊和登入頁，使用者一定要登入才能使用網站 
- [x] 註冊時，使用者可以設定 account、name、email 和 password
      - account：如 @ellenlee，必須是獨一無二的
      - name：平常顯示的暱稱，如 Ellen Lee
- [x] 註冊時，account 和 email 不能與其他人重覆，若有重覆會跳出錯誤提示
- [x] 使用者能編輯自己的 account、name、email 和 password
- [x] 使用者能編輯自己的自我介紹、個人頭像與封面

### 2. 種子資料設計
- [x] Admin （登入帳號 root@example.com，密碼 12345678）
- [x] 5 個一般使用者
- [x] 每個使用者有 10 篇 post
- [x] 每篇 post 有隨機 3 個留言者，每個人有 1 則留言

### 3. 貼文留言
- [x]  使用者能在首頁瀏覽所有的推文 (tweet)
   - 所有 Tweets 依 create 日期排序，最新的在前<br><span style="color: navy">(順序看起來不是照時間，是照user)</span>
- [ ] 使用者點擊貼文方塊時，能查看該則貼文的詳情與回覆串
   - 詳情包括發布者名稱、頭像、貼文內容、發表時間、回覆與按讚數
- [ ]  使用者點擊貼文中的留言 icon 時，能回覆別人的推文
   - 回覆文字不能為空白
   - 若不符合規定，會跳回同一頁並顯示錯誤訊息
- [ ] 點擊貼文中使用者頭像時，能瀏覽該使用者的個人資料及推文
- [x] 使用者能新增推文
   - 推文字數限制在 140 以內，且不能為空白
   - 若不符合規定，會跳回同一頁並顯示錯誤訊息<br><span style="color: navy">（剩下細節設定）</span>

### 4. 使用者互動
- [ ]  使用者可以追蹤/取消追蹤其他使用者 (不能追蹤自己)
- [x]  使用者能對別人的推文按 Like/Unlike
- [ ]  使用者能編輯自己的名稱、介紹、大頭照和個人頁橫幅背景

### 5. 數據摘要
- [ ]  任何登入使用者都可以瀏覽特定使用者的以下資料：
   - [ ] 推文 (Tweets)：排序依日期，最新的在前
   - [ ] 推文與回覆：使用者回覆過的內容，排序依日期，最新的在前
   - [ ] 跟隨中 (Following)：該使用者的關注清單，排序依照追蹤紀錄成立的時間，愈新的在愈前面
   - [ ] 跟隨者 (Follower)：該使用者的跟隨者清單，排序依照追蹤紀錄成立的時間，愈新的在愈前面
   - [ ] 喜歡的內容 (Like)：該使用者 like 過的推文清單，排序依 like 紀錄成立的時間，愈新的在愈前面
- [x]  使用者能在首頁看見跟隨者 (followers) 數量排列前 10 的使用者推薦名單

### 6.後台

- [ ] 管理者可從專門的後台登入頁面進入網站後台
   - 管理者帳號不可登入前台，詳見【角色權限】說明
- [ ] 管理者可以瀏覽全站的 Tweet 清單
   - 可以直接在清單上快覽 Tweet 的前 50 個字
   - 可以在清單上直接刪除任何人的推文
- [ ] 管理者可以瀏覽站內所有的使用者清單，清單的資訊包括
   - 使用者社群活躍數據，包括推文 (tweet) 數量、關注人數、跟隨者人數、推文被 like 的數量
   - 清單預設按推文數排序

前端狀況：

- 經過了一週的開發，你感覺如何？
    - 切版的時間比預期來得快，但後續製作功能或者串接API，卻碰到比預想的問題還多，感覺串接API前是一個世界，串接後又是另一個世界

- 上週你完成了哪些user story？
    - 完成所有頁面的切版
    - 成功串接登入API，使用者發過的推文、喜歡的推文、回覆過的推文API，首頁的API

- 有任何需要幫助的地方嗎？
    - 想多了解git flow的操作，因為過程中遇到很多conflict問題
    - 在還沒串 API 前，目前會使用假資料來替代，但真正串接 API 時，會在傳入和傳出資料上遇到蠻多問題，該如何讓前置作業更符合串接 API 時的情況？

- 上週的開發過程中，有什麼地方卡住了？
    - 資料回傳時未以obejct方式回傳，直接回傳string或 number，導致ststus code出現400，花了一段時間才找到原因
    - 切版時的 component 安排會和實際串接API時落差蠻大，所以會有蠻多時間在修改版面和分配 component 

- 本週你預計開發的重點有哪些？依照預計的開發順序列出。
    - 完成後台介面
    - 是否登入與是否為admin看到頁面的限制
    - spin
    - 優化程式碼
