/douyin

项目基于Gin框架开发。实现刷抖音,用户视频投稿,展示封面;查看基本信息;对视频点赞和评论;关注其他用户;查看发布列表、点赞列表、关注列表和粉丝列表。 使用JWT+Redis作为中间件对用户token进行校验,实现JWT续期功能。 数据库采用GORM框架,MySQL建立合理的索引和外键提高性能,涉及多项数据的操作使用事务保持数据一致性。 用Redis做缓存,减轻MySQL的压力,提高系统性能。针对缓存雪崩、穿透、击穿做了相应的防护。采用延时双删保证Redis和MySQL的一致性。 使用RabbitMQ异步上传视频和封面到七牛云,采用手动确认机制,确保视频可以正确的上传到云服务器。

Primary LanguageGo

#1.已实现功能

  • 1.支持所有用户刷抖音,按投稿时间倒序推出
  • 2.登录用户可以自己拍视频投稿,展示封面
  • 3.查看自己的基本信息和投稿列表
  • 4.注册用户流程简化
  • 5.登录用户可以对视频点赞和评论
  • 6.在个人主页可以查看点赞视频列表和发布视频列表
  • 7.登录用户可以关注其他用户,能够看到关注数和粉丝数
  • 8.可以查看关注列表和粉丝列表

#2.技术说明

  • docker部署
  • gin框架
  • gorm框架
  • ffmpeg功能
  • MD5加密加盐
  • RabbitMQ消息队列
  • 七牛云服务器
  • jwt鉴权认证
  • redis缓存

#其他说明

  • 配置文件输入对应的七牛云key
  • 初始化运行,会自动插入两个用户,方便测试。
  • 账号1:zhangsan,密码:123123
  • 账号2:lisi,密码:123123