仿抖音短视频项目笔记 (一)产品介绍与数据库设计
个人博客网:https://wushaopei.github.io/ (你想要这里多有)
一、短视频项目产品设计介绍:
该项目为仿抖音的短视频项目,主要模块有后台短视频管理模块、搜索模块、登录注册模块、视频详情模块、个人中心、视频列表模块等
1、视频详情模块
在该模块中,视频与音频的关系有以下几种:
- 视频+原声
- 视频+背景音乐
功能点分析:
- 头像,跳转个人中心
- 收藏,(五角星)
- 评论,(窗口)
- 转发,(信函+箭头)
- 首页(左下角)
- 关注的人的资讯(正下方中间的眼睛)
- 个人中心(右下角)
转发按钮:
可以转发分享到微信朋友圈或QQ空间或下载到本地。
举报用户:
点击“举报用户”按钮进入页面,填写举报描述,并提交。
2、视频列表模块
视频瀑布流列表:多个短视频以纵向排列进行展示
3、登录注册模块
功能点分析:
- 登录(输入用户名、密码)
- 注册,点击橙红色按钮跳转注册页面
4、个人中心模块
个人中心包含的功能点有:
- 粉丝数
- 关注数
- 获赞数
- 作品列表
- 收藏列表
- 上传作品按钮(上传短视频)
- 注销按钮
- 分享按钮(右上角三个小圆点)
- 关闭按钮
作品列表:
收藏列表:
点击五角星进行收藏,在收藏列表查看。
分享按钮:
分享按钮只能将内容发送给相应的人,不能分享到微信朋友圈。
5、搜索模块
点击首页右上角的放大镜,进入到搜索页面
功能点分析:
- 搜索框
- 搜索记录关键词
- 热搜关键词
6、短视频管理后台
首页:
用户信息列表:
举报管理列表:
播放审批:查看视频内容:
点击“点我播放”按钮进行视频预览播放
短视频管理:
bgm管理页面:
bgm 新增-提交页面:
bgm 列表:
二、数据库表结构介绍
用户信息表:
CREATE TABLE `users` (
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`username` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户名' ,
`password` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码' ,
`face_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '我的头像,如果没有默认给一张' ,
`nickname` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '昵称' ,
`fans_counts` int(11) NULL DEFAULT 0 COMMENT '我的粉丝数量' ,
`follow_counts` int(11) NULL DEFAULT 0 COMMENT '我关注的人总数' ,
`receive_like_counts` int(11) NULL DEFAULT 0 COMMENT '我接受到的赞美/收藏 的数量' ,
PRIMARY KEY (`id`),
UNIQUE INDEX `id` (`id`) USING BTREE ,
UNIQUE INDEX `username` (`username`) USING BTREE
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
ROW_FORMAT=DYNAMIC
;
用户粉丝表:
CREATE TABLE `users_fans` (
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户' ,
`fan_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '粉丝' ,
PRIMARY KEY (`id`),
UNIQUE INDEX `user_id` (`user_id`, `fan_id`) USING BTREE
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
COMMENT='用户粉丝关联关系表'
ROW_FORMAT=DYNAMIC
;
用户收藏的短视频关系设计表:
CREATE TABLE `users_like_videos` (
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户' ,
`video_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '视频' ,
PRIMARY KEY (`id`),
UNIQUE INDEX `user_video_rel` (`user_id`, `video_id`) USING BTREE
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
COMMENT='用户喜欢的/赞过的视频'
ROW_FORMAT=DYNAMIC
;
举报信息表设计:
CREATE TABLE `users_report` (
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`deal_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '被举报用户id' ,
`deal_video_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '类型标题,让用户选择,详情见 枚举' ,
`content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '内容' ,
`userid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '举报人的id' ,
`create_date` datetime NOT NULL COMMENT '举报时间' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
COMMENT='举报用户表'
ROW_FORMAT=DYNAMIC
;
短视频表设计:
CREATE TABLE `videos` (
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '发布者id' ,
`audio_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户使用音频的信息' ,
`video_desc` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '视频描述' ,
`video_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '视频存放的路径' ,
`video_seconds` float(6,2) NULL DEFAULT NULL COMMENT '视频秒数' ,
`video_width` int(6) NULL DEFAULT NULL COMMENT '视频宽度' ,
`video_height` int(6) NULL DEFAULT NULL COMMENT '视频高度' ,
`cover_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '视频封面图' ,
`like_counts` bigint(20) NOT NULL DEFAULT 0 COMMENT '喜欢/赞美的数量' ,
`status` int(1) NOT NULL COMMENT '视频状态:\r\n1、发布成功\r\n2、禁止播放,管理员操作' ,
`create_time` datetime NOT NULL COMMENT '创建时间' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
COMMENT='视频信息表'
ROW_FORMAT=DYNAMIC
;
搜索关键字表设计:
CREATE TABLE `search_records` (
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '搜索的内容' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
COMMENT='视频搜索的记录表'
ROW_FORMAT=DYNAMIC
;
评论表设计:
CREATE TABLE `comments` (
`id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`father_comment_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL ,
`to_user_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL ,
`video_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '视频id' ,
`from_user_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '留言者,评论的用户id' ,
`comment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '评论内容' ,
`create_time` datetime NOT NULL ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
COMMENT='课程评论表'
ROW_FORMAT=DYNAMIC
;
bgm 表设计:
CREATE TABLE `bgm` (
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`author` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL ,
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '播放地址' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
ROW_FORMAT=DYNAMIC
;
仿抖音短视频项目笔记 (一)产品介绍与数据库设计相关推荐
- uniapp - 仿抖音短视频项目
仿抖音短视频阅读手册 特殊通知 1.请用户认真阅读以下说明,千万不能混淆页面随意引入,如果你发现运行后页面样式排版错乱,大概率是引入错误喔. 2.请App端用户将HbuilderX版本调整到3.3.9 ...
- 从零开始搭建仿抖音短视频APP-构建后端项目
项目持续创作中... 仿抖音短视频APP项目专栏 目录 聚合工程 构建父工程 构建子工程 构建接口工程并且暴露api接口 优雅Restful相应封装 Lombok与多环境profile 数 ...
- 从零开始搭建仿抖音短视频APP-开发用户业务模块(3)
项目持续更新中: 仿抖音短视频APP专栏 目录 注册登录-BO接受前端参数验证 对BO校验进行统一封装 开发用户是否存在 开发创建用户Service 实现短信注册登录与分布式会话 注册登录-BO接受前 ...
- 从零开始搭建仿抖音短视频APP-后端消息业务模块开发(2)-基础版完结篇
项目持续更新中: 仿抖音短视频APP专栏 目录 系统消息入库保存 MongoDB分页查询系统消息列表 删除系统消息 系统消息入库保存 这里还剩下最后一个点赞评论没有完成 这里如果点赞了你的评论,你们视 ...
- 上车短视频赛道:基于uniapp框架快速搭建自己的仿抖音短视频APP
在今年也就是第48次发布的<中国互联网络发展状况统计报告>有这样一个数据,21年的上半年以来,我国我国网民规模达10.11亿,其中短视频用户达8.88亿.碎片化的生活场景下,短视频成为人们 ...
- 从零搭建仿抖音短视频APP-后端开发短视频业务模块(1)
项目持续更新中: 仿抖音短视频APP专栏 目录 发布短视频的流程梳理 传统上传流程 传统上传 CDN上传 CDN上传流程 使用Unicloud云端功能 实现app端视频上传 保存视频信息入库 发布短视 ...
- 仿抖音短视频h5单页版htnl上传即可使用源码文件
仿抖音短视频的模板 项目是前后端分离,前端采用uniapp开发,后端目前是用frphp临时搭建的接口,后续为了方便管理内容,会移植到极致cms上.现在也可丢到网站里当一个单页使用,无聊时可以刷一刷短视 ...
- 从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)
项目持续更新中: 仿抖音短视频APP专栏 目录 保存系统消息到MongoDB 系统消息入库保存-关注 系统消息入库保存-点赞短视频 系统消息入库保存-评论与回复 保存系统消息到MongoDB 我们把m ...
- 从零开始搭建仿抖音短视频APP-后端开发短视频业务模块(2)
项目持续更新中: 仿抖音短视频APP 目录 实现数据层mybatis自定义mapper与sql 查询短视频列表api 实现下拉刷新和分页功能 实现数据层mybatis自定义mapper与sql 在数据 ...
最新文章
- python colormap(颜色映射)
- iOS深入探索直播推拉流实现流程(二:推流权限判断 )
- 创建一个打不开删不掉的文件夹
- “90后”变“韭零后”,大数据告诉你谁是基民主力军?
- 从涂鸦到发布 —— 理解API的设计过程
- JUC原子类-数组类型(三)
- Win11锁屏快捷键是什么 Win11锁屏的方法
- (50)流式布局—京东移动端首页制作案例
- 命令+mybatis-generator插件自己主动生成Mapper映射文件
- FinTech领域的风险控制——风险篇
- 倒角距离(Chamfer distance)和earth mover‘s diatance
- update core.php,WordPress更新失败-这通常是由于文件权限不一致所致。:wp-admin/includes/update-core.php...
- 第 4 章 MybatisPlus 条件构造器
- WayOS路由器企业应用方案
- 最厉害的java混淆器_Java-哪个JAVA混淆器好用?
- 如何直接修改html文件,如何修改HTML的文件?
- 最优化方法-黄金分割法及Matlab实现
- 【Git命令】git commit --amend
- Unity材质偏移(贴图纹理偏移)实现流动效果【记录一下】
- 嘀嘀的费用是优步的两倍?