后端抖音项目笔记 | 青训营笔记

217 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第5篇笔记。

本次字节青训营实现了一个极简版抖音项目,主要编写后端功能,实现了登录、注册、刷视频、投稿、点赞、评论、关注等功能。

项目结构

image.png

采用MVC模式,具体表现为三层架构:

  • 表现层(controller):控制器,主要是接收前端传来的请求然后调用业务逻辑层最终实现响应。
  • 业务逻辑层(service):对业务逻辑进行封装,组合数据访问层的基本功能,形成复杂的业务逻辑。
  • 数据访问层(models):对数据库的基本操作,增删改查等。

image.png

public包用于存放静态资源,具体来说存放本地视频和视频封面。

define包用于存放常量。

routers包用于存放路由相关信息。

util包用户存放各种工具类函数,包括token授权、视频截帧等。

功能实现

用户模块

支持用户登录、注册功能,在用户主页,可查看用户个人信息,包括个人发布的视频,点赞的视频,关注数、粉丝数等信息。

视频模块

登录的用户可以投稿视频,在首页按时间倒序实现视频流功能,对于每一个视频,包含作者信息、点赞数、评论数、评论列表等信息。

评论模块

未登录用户可查看视频的评论,评论包含评论者信息,评论内容,评论时间等信息。对于登录的用户,可以对每一个视频进行评论操作。

点赞模块

对于已登录的用户,每一条视频保存着用户是否对该视频点赞的状态。用户可对视频点赞或者取消点赞。

关注模块

每个用户拥有关注列表和粉丝列表,对于每一个交互用户,保存着关注状态,可选择关注或取消关注。