接口
根据项目介绍,可分为基础接口,互动接口,社交接口,具体api如下
基础接口
/douyin/user/register
/douyin/user/login
/douyin/user
/douyin/feed
/douyin/publish/action
/douyin/publish/list
互动接口
/douyin/favour/action
/douyin/favour/list
/douyin/comment/action
/douyin/comment/list
社交接口
/douyin/relation/action
/douyin/relation/list
/douyin/relation/follower/list
/douyin/relation/friend/list
具体实现
为了方便协作编程,将三种接口分成了五个服务,分别是用户服务,视频服务,社交服务,点赞服务,评论服务。
社交服务
用于用户之间关注功能
需要实现:
- 每个用户关注的其他用户。数据结构为redis set。SADD user:id:follow user1_id user2_id。
- 每个用户被其他哪些用户关注。数据结构为redis set。SADD user:id:follower user1_id user2_id。
- 两个key取交集,生成该用户的朋友,实现/douyin/relation/friend/list。
- 关注时,调用用户服务增加关注数和粉丝数。
点赞服务
用于视频的点赞功能
需要实现:
- 用户关注了哪些视频。数据结构为redis zset。key为 user:id:favourite,分数为1代表赞,0代表不赞。
- 用户的视频被赞数。数据结构为redis zset。key为 user:id:video,分数代表被赞数。
- 需要调用视频服务和用户服务提供的接口,对获赞数进行修改。