User

Index Feature HTTP Method Route Controller Action Note Branch
1 user sign up POST POST /api/users user-controller.signUp CU01
2 user sign in POST POST /api/users/signIn user-controller.sginIn CU01
3 get specific user’s sign up data GET GET /api/users/:id/setting user-controller.getSetting need authentication
account, name, email, password CU02
4 edit specific user’s sign up data PATCH PATCH /api/users/:id/setting user-controller.patchSetting need authentication CU02
5 get specific user’s profile GET GET /api/users/:id user-controller.getUser need authentication
name, avatar, description, banner CU03
6 user can edit his or her own information & profile data PUT PUT /api/users/:id user-controller.putUser need authentication CU03
7 get all tweets of the specific user GET GET /api/users/:id/tweets user-controller.getUserTweets need authentication CU04
8 get all replies of the specific user GET GET /api/users/:id/replied_tweets user-controller.getUserReplies need authentication CU04
9 get all tweets that the specific user like GET GET /api/users/:id/likes user-controller.getUserLikes need authentication CU04
10 get all people that the specific user is following GET GET /api/users/:id/followings user-controller.getUserFollowings need authentication CU05
11 get the specific user’s followers GET GET /api/users/:id/followers user-controller.getUserFollowers need authentication RF01
12 get current user GET GET /api/get_current_user user-controller.getCurrentUser need authentication

Admin

Index Feature HTTP Method Route Controller Action Note Branch
1 admin sign in POST POST /api/admin/signin admin-controller.signIn CA01
2 admin can see all users GET GET /api/admin/users admin-controller.getUsers need authentication CA01
3 admin can see all tweets GET GET /api/admin/tweets admin-controller.getTweets need authentication CA02
4 admin can delete a tweet DELETE DELETE /api/admin/tweets/:id admin-controller.deleteTweet need authentication CA02

Followship

Index Feature HTTP Method Route Controller Action Note Branch
1 user can follow another user POST POST /api/followships followship-controller.postFollowship need authentication
take out req.body id CF01
2 user can unfollow another user DELETE DETELE /api/followships/:followingId followship-controller.deleteFollowship need authentication CF01
3 user can see the top 10 users having most followers GET GET /api/followships/top_users followship-controller.getTopUsers need authentication CF01

Tweet

Index Feature HTTP Method Route Controller Action Note Branch
1 user can post a tweet POST POST /api/tweets tweet-controller.postTweet need authentication CT01
2 get all tweets GET GET /api/tweets tweet-controller.getTweets need authentication CT01
3 get the specific tweet GET GET /api/tweets/:tweet_id tweet-controller.getTweet need authentication CT01

Like

Index Feature HTTP Method Route Controller Action Note Branch
1 like the specific tweet POST POST /api/tweets/:id/like like-controller.postLikeToTweet need authentication CL01
2 unlike the specific tweet POST POST /api/tweets/:id/unlike like-controller.postUnlikeToTweet need authentication CL01

CL01

Reply

Index Feature HTTP Method Route Controller Action Note Branch
1 user can post reply to the specific tweet POST POST /api/tweets/:tweet_id/replies reply-controller.postReply need authentication CR01
2 get all replies of the specific tweet GET GET /api/tweets/:tweet_id/replies reply-controller.getReplies need authentication CR01