仿抖音短視頻項目筆記 (一)產品介紹與數據庫設計

個人博客網:https://wushaopei.github.io/    (你想要這裏多有)

一、短視頻項目產品設計介紹:

該項目爲仿抖音的短視頻項目,主要模塊有後臺短視頻管理模塊、搜索模塊、登錄註冊模塊、視頻詳情模塊、個人中心、視頻列表模塊等

1、視頻詳情模塊

                     

在該模塊中,視頻與音頻的關係有以下幾種:

  1.   視頻+原聲
  2.   視頻+背景音樂

功能點分析:

  1. 頭像,跳轉個人中心
  2. 收藏,(五角星)
  3. 評論,(窗口)
  4. 轉發,(信函+箭頭)
  5. 首頁(左下角)
  6. 關注的人的資訊(正下方中間的眼睛)
  7. 個人中心(右下角)

轉發按鈕:

                      

可以轉發分享到微信朋友圈或QQ空間或下載到本地。

舉報用戶:

                       

  點擊“舉報用戶”按鈕進入頁面,填寫舉報描述,並提交。

2、視頻列表模塊

                      

視頻瀑布流列表:多個短視頻以縱向排列進行展示

 

3、登錄註冊模塊

                        

功能點分析:

  1. 登錄(輸入用戶名、密碼)
  2. 註冊,點擊橙紅色按鈕跳轉註冊頁面

4、個人中心模塊

                          

個人中心包含的功能點有:

  1. 粉絲數
  2. 關注數
  3. 獲贊數
  4. 作品列表
  5. 收藏列表
  6. 上傳作品按鈕(上傳短視頻)
  7. 註銷按鈕
  8. 分享按鈕(右上角三個小圓點)
  9. 關閉按鈕

作品列表:

                  

收藏列表:

                 

點擊五角星進行收藏,在收藏列表查看。

分享按鈕:

                   

     分享按鈕只能將內容發送給相應的人,不能分享到微信朋友圈。

5、搜索模塊

                   

點擊首頁右上角的放大鏡,進入到搜索頁面

 功能點分析:

  1. 搜索框
  2. 搜索記錄關鍵詞
  3. 熱搜關鍵詞

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
;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章