SpringBoot 仿抖音短視頻小程序開發(一)

1、項目簡介

模仿抖音作的一個短視頻微信小程序,用SpringBoot搭建小程序後臺,用SSM框架搭建短視頻後臺管理系統,小程序後臺經過分佈式zookeeper監聽節點自動下載或刪除短視頻後臺管理系統上傳的視頻。

2、環境參數

  1. 核心框架:SpringBoot、SSM
  2. 數據庫:MySQL、 HikariCP數據源、MyBatis逆向工程
  3. 中間件:zookeeper,redis,swagger2
  4. 前端框架: Bootstrap + Jquery、jqGrid分頁組件
  5. 音頻處理: FFmpeg
  6. 開發工具: IDEA

熱門技術點
clipboard.png前端

3、項目展現

clipboard.png

功能: 小程序【註冊登陸註銷】、【上傳頭像】、【上傳做品】、【查看全部/單個短視頻】、【點贊】、【關注某用戶】、【短視頻和BGM合併】、【留言評論回覆】、【舉報】、【下載短視頻到手機】

4、數據庫設計

CREATE TABLE `bgm` (
  `id` varchar(64) NOT NULL,
  `author` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `path` varchar(255) NOT NULL COMMENT '播放地址',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `comments` (
  `id` varchar(20) NOT NULL,
  `father_comment_id` varchar(20) DEFAULT NULL,
  `to_user_id` varchar(20) DEFAULT NULL,
  `video_id` varchar(20) NOT NULL COMMENT '視頻id',
  `from_user_id` varchar(20) NOT NULL COMMENT '留言者,評論的用戶id',
  `comment` text NOT NULL COMMENT '評論內容',
  `create_time` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='課程評論表';

CREATE TABLE `search_records` (
  `id` varchar(64) NOT NULL,
  `content` varchar(255) NOT NULL COMMENT '搜索的內容',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='視頻搜索的記錄表';

CREATE TABLE `vuser` (
  `id` varchar(64) NOT NULL,
  `username` varchar(20) NOT NULL COMMENT '用戶名',
  `password` varchar(64) NOT NULL COMMENT '密碼',
  `face_image` varchar(255) DEFAULT NULL COMMENT '個人頭像,若是沒有默認給一張',
  `nickname` varchar(20) NOT NULL COMMENT '暱稱',
  `fans_counts` int(11) DEFAULT '0' COMMENT '個人粉絲數量',
  `follow_counts` int(11) DEFAULT '0' COMMENT '我關注的人總數',
  `receive_like_counts` int(11) DEFAULT '0' COMMENT '我接受到的讚美/收藏 的數量',
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `users_fans` (
  `id` varchar(64) NOT NULL,
  `user_id` varchar(64) NOT NULL COMMENT '用戶',
  `fan_id` varchar(64) NOT NULL COMMENT '粉絲',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_id` (`user_id`,`fan_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用戶粉絲關聯關係表';

CREATE TABLE `users_like_videos` (
  `id` varchar(64) NOT NULL,
  `user_id` varchar(64) NOT NULL COMMENT '用戶',
  `video_id` varchar(64) NOT NULL COMMENT '視頻',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_video_rel` (`user_id`,`video_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用戶喜歡的/贊過的視頻';

CREATE TABLE `users_report` (
  `id` varchar(64) NOT NULL,
  `deal_user_id` varchar(64) NOT NULL COMMENT '被舉報用戶id',
  `deal_video_id` varchar(64) NOT NULL,
  `title` varchar(128) NOT NULL COMMENT '類型標題,讓用戶選擇,詳情見 枚舉',
  `content` varchar(255) DEFAULT NULL COMMENT '內容',
  `userid` varchar(64) NOT NULL COMMENT '舉報人的id',
  `create_date` datetime NOT NULL COMMENT '舉報時間',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='舉報用戶表';

CREATE TABLE `videos` (
  `id` varchar(64) NOT NULL,
  `user_id` varchar(64) NOT NULL COMMENT '發佈者id',
  `audio_id` varchar(64) DEFAULT NULL COMMENT '用戶使用音頻的信息',
  `video_desc` varchar(128) DEFAULT NULL COMMENT '視頻描述',
  `video_path` varchar(255) NOT NULL COMMENT '視頻存放的路徑',
  `video_seconds` float(6,2) DEFAULT NULL COMMENT '視頻秒數',
  `video_width` int(6) DEFAULT NULL COMMENT '視頻寬度',
  `video_height` int(6) DEFAULT NULL COMMENT '視頻高度',
  `cover_path` varchar(255) DEFAULT NULL COMMENT '視頻封面圖',
  `like_counts` bigint(20) NOT NULL DEFAULT '0' COMMENT '喜歡/讚美的數量',
  `status` int(1) NOT NULL COMMENT '視頻狀態:\r\n一、發佈成功\r\n二、禁止播放,管理員操做',
  `create_time` datetime NOT NULL COMMENT '建立時間',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='視頻信息表';
相關文章
相關標籤/搜索