Skip to content

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Shortzz - TikTok Clone Application

A full-featured TikTok clone with short videos, live streaming, PK battles, stories, and social features built with Flutter and Laravel.

🎯 Features

Core Features

  • πŸ“Ή 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

Additional Features

  • πŸ‘€ 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

πŸš€ Tech Stack

Mobile App (Flutter)

  • 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

Backend (Laravel)

  • Framework: Laravel 10
  • PHP: 8.1+
  • Database: MySQL
  • Storage: Local/AWS S3
  • Push Notifications: Firebase Cloud Messaging
  • Authentication: JWT via Laravel Sanctum

πŸ“‹ Prerequisites

For Flutter App

  • Flutter SDK 3.5.4 or higher
  • Dart SDK
  • Android Studio / Xcode
  • Firebase project
  • Zego account (for live streaming)
  • DeepAR license (for AR filters)

For Laravel Backend

  • PHP 8.1 or higher
  • Composer
  • MySQL 5.7+ / MariaDB 10.3+
  • Node.js & NPM
  • Web server (Apache/Nginx)

πŸ› οΈ Installation

Step 1: Clone the Repository

git clone <repository-url>
cd TikTokClone

Step 2: Database Setup

  1. Create a MySQL database
  2. Import the database schema:
mysql -u username -p database_name < shortzz_database.sql

Step 3: Backend Setup

  1. Navigate to backend directory:
cd shortzz_backend
  1. Install PHP dependencies:
composer install
  1. Install Node dependencies:
npm install
  1. Configure environment:
cp .env.example .env
  1. Edit .env file 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=
  1. Generate application key:
php artisan key:generate
  1. Run migrations:
php artisan migrate
  1. Build assets:
npm run prod
  1. Start the server:
php artisan serve

Step 4: Flutter App Setup

  1. Navigate to Flutter directory:
cd ../Shortzz
  1. Install Flutter dependencies:
flutter pub get
  1. Configure Firebase:

    • Place google-services.json in android/app/
    • Place GoogleService-Info.plist in ios/Runner/
  2. 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
  1. Run the app:
flutter run

πŸ“± Building for Production

Android

flutter build apk --release
# or for App Bundle
flutter build appbundle --release

iOS

flutter build ios --release

πŸ”§ Configuration

Admin Panel

Access the admin panel at: http://your-backend-url/login

Default credentials (change after first login):

  • Username: Check database tbl_admin table
  • Password: As configured during setup

Key Configuration Areas

  1. App Settings (Admin Panel)

    • App name and branding
    • Feature toggles (live streaming, stories, etc.)
    • Monetization settings
    • Content moderation rules
  2. Third-party Services

    • Firebase project configuration
    • Zego Express credentials
    • DeepAR license keys
    • Payment gateway setup
    • AdMob configuration

πŸ“‚ Project Structure

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

πŸ§ͺ Testing

Flutter Tests

cd Shortzz
flutter test
flutter analyze

Laravel Tests

cd shortzz_backend
php artisan test

🚨 Troubleshooting

Common Issues

  1. Build failures

    • Clean and rebuild: flutter clean && flutter pub get
    • Clear Laravel caches: php artisan cache:clear
  2. API connection issues

    • Verify backend URL in const_res.dart
    • Check CORS configuration in Laravel
  3. Firebase errors

    • Ensure Firebase configuration files are in place
    • Verify Firebase project settings match app bundle ID
  4. Live streaming not working

    • Verify Zego credentials
    • Check network permissions

πŸ“ Documentation

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is proprietary software. All rights reserved.

πŸ’¬ Support

For support, please contact the development team or raise an issue in the repository.

See detailed changelog in:

  • Shortzz/README.md - Flutter app changes
  • shortzz_backend/README.md - Backend changes

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages