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
YouTube:https://youtu.be/HX3812cRtYA
Bilibili:https://www.bilibili.com/video/BV1AV59z5ESV
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 packageThen
java -jar target/tiktube-Run front end server
cd TikTubeWeb
npm installThen
npm run devFinal
Open
http://127.0.0.1:5173
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.












