# Simple Twitter RESTful ## 主路由 (main-controller) | 功能描述 | 路由 | Controller Action | | --- | --- | --- | | 未登入時導向回首頁 | GET / | mainController.getMainPage | | 顯示登入頁面 | GET /login | mainController.getLoginPage | | 使用者登入 | POST /login | mainController.postLogin | | 顯示註冊頁面 | GET /signup | mainController.getSignupPage | | 使用者註冊 | POST /signup | mainController.postSignup | ## 使用者路由 (user-controller) | 功能描述 | 路由 | Controller Action | | --- | --- | --- | | 瀏覽使用者所有tweets的頁面 (**包含自己和別人的**) | GET /users/:id/tweets | userController.getUserTweets | 瀏覽使用者所有replies的頁面 (**包含自己和別人的**) | GET /users/:id/replies | userController.getUserReplies | 瀏覽使用者所有喜愛的貼文清單 | GET /users/:id/likes | userController.getLikeTweets | 顯示追蹤的人的資訊並依照新增時間排序 | GET /users/:id/followings | userController.getFollowings | 顯示所有被追蹤的資訊並依照新增時間排序 | GET /users/:id/followers|userController.getFollowers| ## Followship (followship-controller) | 功能描述 | 路由 | Controller Action | | --- | --- | --- | |送出想追蹤的人,id需要直接放在form裡|POST /followship|followshipController.postFollowship| |刪除追蹤|DELETE /followship/:id|followshipController.deleteFollowship| ## API 路由 (api-controller) | 功能描述 | 路由 | Controller Action | | --- | --- | --- | | 瀏覽編輯**自己的**使用者頁面 | GET /api/users/:id | apiController.getUserPage | 更新**自己的**使用者資料 | POST /api/users/:id | apiController.postUserInfo ## Tweet 路由 (tweet-controller) | 功能描述 | 路由 | Controller Action | | --- | --- | --- | | 登入時可以進入 tweets 頁面(這個route和首頁route應該只會存在一個) | GET /tweets | tweetController.getTweets | 1. 可以新增貼文<br />2. 新增貼文內容過多會失效 | POST /tweets | tweetController.postTweets | 1. 可以新增repley<br />2. 新增貼文內容過多會失效 | POST /tweets/:id/replies | tweetController.postRepliess | 喜愛貼文 | POST /tweets/:id/like | tweetController.postLike | 取消喜愛貼文 | POST /tweets/:id/unlike | tweetController.postUnlike | 顯示留言 | GET /tweets/:id/replies | tweetController.getReplies | 新增留言 | POST /tweets/:id/replies | tweetController.postReply ## 追蹤路由 (follow-controller) | 功能描述 | 路由 | Controller Action | | --- | --- | --- | | 追蹤 | GET /followships | followController.getFollowships | 取消追蹤 | DELETE /followships | followController.deleteFollowships ## 管理員路由 (admin-controller) | 功能描述 | 路由 | Controller Action | | --- | --- | --- | | 顯示管理員登入介面 | GET /admin/signin | adminController.getSignin | 管理員登入 | POST /admin/signin | adminController.postSignin | 管理員可看到網站所有貼文資料 | GET /admin/tweets | adminController.getTweets | 管理員刪除貼文 | DELETE /admin/tweets/:id | adminController.deleteTweets | 管理員看到所有使用者資料 | GET /admin/users | adminController.getUsers