Skip to content

(BUG SOS) 一个简单的视频网站,界面参考了Youtube。支持自动生成封面图,发送弹幕等功能。A simple video website with an interface inspired by YouTube. The backend is built with Spring Boot, and the frontend uses Vue with Vuetify.js. It supports features like automatic thumbnail generation and live comment (danmaku) streaming.

License

Notifications You must be signed in to change notification settings

ermzx/TikTube

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo


TikTube A simple video website with a bullet chat (danmaku) feature

introduction

A Simple Video Website

The website name is a mashup of TikTok and YouTube, with the logo generated by Doubao AI.

The main interface is inspired by YouTube, with some features borrowed from Bilibili.

Backend: Spring Boot, MySQL

Frontend: Vue, Vuetifyjs

All core features have been completed, including:

  • Video submission
  • Danmaku (bullet comments)
  • Video playback
  • Watch history, favorites, comments, likes
  • Automatic cover image generation
  • Data management
  • Login with TOTP two-factor authentication
  • Support for multiple storage backends, compatible with S3 API-based object storage (tested with MinIO and Cloudflare R2)
  • Reporting and content moderation
  • AI Content Review
  • Announcements, notifications, etc.

Some minor features are still being optimized.

For ease of use and deployment, the only external dependency is the database, with Redis as an optional configuration.

Enable Redis caching by setting the open-redis option to true in the application.yml file.

Regarding the Online DEMO: https://tiktube.buguagaoshu.com/

This version of the DEMO is for display purposes only. As such, the administrator has disabled submission and commenting functions for regular users. If you wish to experience these features, please deploy the system yourself for testing.

Test account:

Email: [email protected]

Password: test123456test

TOTP TEST Test account:

Email: [email protected]

Password: test123456test

TOTP secret:JL2ZZV7W6OGXG4JYLCVXZRMDUV4XA3DDLPC3Q72IO6XB4K4EJKW4VW4IHXOMA2DCYU6WWRMNAMKXCVO7PGUIK2PCJG7TXMDSTA2JP76XV3BGAGSJAW66LFFQQYOG2KYB

you can use :如Google Authenticator、Microsoft Authenticator

otp

Video demo

YouTube:https://youtu.be/HX3812cRtYA

Bilibili:https://www.bilibili.com/video/BV1AV59z5ESV

Quick start

Run Environment: Java17+, Node 20+, Maven 3.9+,MySQL 8.0+

Creating a database, Configuring Database Addresses

If you have a Redis service, you can enable Redis caching by setting the open-redis option to true in application.yml. In this case, the system will use Redis for caching.

This option defaults to false, meaning the system will use in-memory caching instead.

Run back end server

cd TikTube
mvn clean package

Then

java -jar target/tiktube-

Run front end server

cd TikTubeWeb
npm install

Then

npm run dev

Final

Open

http://127.0.0.1:5173

screenshot

Home

Home

Video Page

Video Page

Comment

Comment

History

History

Subscribe

Subscribe

User Home

User Home

Notification

Notification

Publish

Publish

Video Capture

Video Capture

Admin

Admin

AI Examine

AI Examine

Question

If you are unable to compile using an older version of the frontend

Frontend Fails to Compile

If you encounter the error ESLint is not a constructor, add lintOnSave: false to your vue.config.js.

Tips: The first user registered with the name admin will automatically become an administrator.

CHANGE LOG

CHANGELOG

Other Links

GitHub:https://github.com/PuZhiweizuishuai/TikTube

Gitee: https://gitee.com/puzhiweizuishuai/VideoWeb

About

(BUG SOS) 一个简单的视频网站,界面参考了Youtube。支持自动生成封面图,发送弹幕等功能。A simple video website with an interface inspired by YouTube. The backend is built with Spring Boot, and the frontend uses Vue with Vuetify.js. It supports features like automatic thumbnail generation and live comment (danmaku) streaming.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 52.4%
  • Java 46.3%
  • JavaScript 1.3%