抖音项目分析(2)| 青训营

80 阅读1分钟

接口

根据项目介绍,可分为基础接口,互动接口,社交接口,具体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

具体实现

为了方便协作编程,将三种接口分成了五个服务,分别是用户服务,视频服务,社交服务,点赞服务,评论服务。

社交服务

用于用户之间关注功能
需要实现:

  1. 每个用户关注的其他用户。数据结构为redis set。SADD user:id:follow user1_id user2_id。
  2. 每个用户被其他哪些用户关注。数据结构为redis set。SADD user:id:follower user1_id user2_id。
  3. 两个key取交集,生成该用户的朋友,实现/douyin/relation/friend/list。
  4. 关注时,调用用户服务增加关注数和粉丝数。

点赞服务

用于视频的点赞功能
需要实现:

  1. 用户关注了哪些视频。数据结构为redis zset。key为 user:id:favourite,分数为1代表赞,0代表不赞。
  2. 用户的视频被赞数。数据结构为redis zset。key为 user:id:video,分数代表被赞数。
  3. 需要调用视频服务和用户服务提供的接口,对获赞数进行修改。