A full-featured TikTok clone with short videos, live streaming, PK battles, stories, and social features built with Flutter and Laravel.
- πΉ Short Video Sharing - Create and share short-form videos with filters
- π¬ Reels & Feed - Infinite scroll video feed with engagement features
- πΊ Live Streaming - Go live with real-time viewer interaction
- βοΈ PK Battles - Live streaming battles between creators
- π Stories - 24-hour ephemeral content
- π¬ Real-time Chat - Direct messaging with media sharing
- π AR Filters - DeepAR powered effects and filters
- π΅ Music Library - Add trending sounds to videos
- π° Monetization - Virtual gifts, coins, and wallet system
- π Push Notifications - Real-time activity notifications
- π€ User profiles with follow/following system
- β€οΈ Like, comment, share, and save posts
- π Search users, hashtags, and content
- π Location-based content
- π Virtual gifts and tipping
- π Premium subscriptions
- π‘οΈ Content moderation
- π Admin dashboard
- Framework: Flutter 3.5.4+
- State Management: GetX
- Video: video_player, video_compress
- Live Streaming: Zego Express SDK
- AR Filters: DeepAR
- Chat: Firebase Firestore
- Authentication: Firebase Auth
- Payments: RevenueCat
- Ads: Google AdMob
- Framework: Laravel 10
- PHP: 8.1+
- Database: MySQL
- Storage: Local/AWS S3
- Push Notifications: Firebase Cloud Messaging
- Authentication: JWT via Laravel Sanctum
- Flutter SDK 3.5.4 or higher
- Dart SDK
- Android Studio / Xcode
- Firebase project
- Zego account (for live streaming)
- DeepAR license (for AR filters)
- PHP 8.1 or higher
- Composer
- MySQL 5.7+ / MariaDB 10.3+
- Node.js & NPM
- Web server (Apache/Nginx)
git clone <repository-url>
cd TikTokClone- Create a MySQL database
- Import the database schema:
mysql -u username -p database_name < shortzz_database.sql- Navigate to backend directory:
cd shortzz_backend- Install PHP dependencies:
composer install- Install Node dependencies:
npm install- Configure environment:
cp .env.example .env- Edit
.envfile with your configuration:
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password
# Firebase credentials path
FIREBASE_CREDENTIALS=googleCredentials.json
# AWS S3 (optional)
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=- Generate application key:
php artisan key:generate- Run migrations:
php artisan migrate- Build assets:
npm run prod- Start the server:
php artisan serve- Navigate to Flutter directory:
cd ../Shortzz- Install Flutter dependencies:
flutter pub get-
Configure Firebase:
- Place
google-services.jsoninandroid/app/ - Place
GoogleService-Info.plistinios/Runner/
- Place
-
Update configuration in
lib/utilities/const_res.dart:
static const String baseUrl = "YOUR_BACKEND_URL";
static const String zegoAppId = "YOUR_ZEGO_APP_ID";
static const String zegoAppSign = "YOUR_ZEGO_APP_SIGN";
static const String deepArAndroidKey = "YOUR_DEEPAR_KEY";
// ... other configurations- Run the app:
flutter runflutter build apk --release
# or for App Bundle
flutter build appbundle --releaseflutter build ios --releaseAccess the admin panel at: http://your-backend-url/login
Default credentials (change after first login):
- Username: Check database
tbl_admintable - Password: As configured during setup
-
App Settings (Admin Panel)
- App name and branding
- Feature toggles (live streaming, stories, etc.)
- Monetization settings
- Content moderation rules
-
Third-party Services
- Firebase project configuration
- Zego Express credentials
- DeepAR license keys
- Payment gateway setup
- AdMob configuration
TikTokClone/
βββ Shortzz/ # Flutter mobile app
β βββ lib/
β β βββ screen/ # UI screens
β β βββ model/ # Data models
β β βββ common/ # Shared utilities
β β βββ main.dart # App entry point
β βββ android/ # Android specific files
β βββ ios/ # iOS specific files
β βββ pubspec.yaml # Flutter dependencies
β
βββ shortzz_backend/ # Laravel backend
β βββ app/ # Application logic
β βββ routes/ # API routes
β βββ resources/ # Views and assets
β βββ database/ # Migrations and seeds
β βββ public/ # Public assets
β
βββ shortzz_database.sql # Database schema
cd Shortzz
flutter test
flutter analyzecd shortzz_backend
php artisan test-
Build failures
- Clean and rebuild:
flutter clean && flutter pub get - Clear Laravel caches:
php artisan cache:clear
- Clean and rebuild:
-
API connection issues
- Verify backend URL in
const_res.dart - Check CORS configuration in Laravel
- Verify backend URL in
-
Firebase errors
- Ensure Firebase configuration files are in place
- Verify Firebase project settings match app bundle ID
-
Live streaming not working
- Verify Zego credentials
- Check network permissions
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is proprietary software. All rights reserved.
For support, please contact the development team or raise an issue in the repository.
See detailed changelog in:
Shortzz/README.md- Flutter app changesshortzz_backend/README.md- Backend changes