TikTok Clone

This is a full-stack TikTok clone built using Flutter, Firebase, and GetX. It includes various features such as authentication, video uploading, compression, thumbnail generation, post display, liking and commenting on posts, user search, following, and a TikTok-like user interface.

Features

  • Authentication with Email & Password: Users can sign up and log in using their email and password credentials.
  • Uploading Videos with Caption: Users can upload videos along with captions to share with others.
  • Compressing Videos: The uploaded videos are automatically compressed to reduce their size while maintaining quality.
  • Generating Thumbnails Out of Video: Thumbnails are generated from the uploaded videos to display as previews.
  • Displaying Videos with Caption: Users can view uploaded videos along with their respective captions.
  • Liking on Posts: Users can like posts to show their appreciation.
  • Commenting on Posts: Users can leave comments on posts to engage in discussions.
  • Liking the Comments: Users can like comments made on posts.
  • Searching Users: Users can search for other users by their usernames or display names.
  • Following Users: Users can follow other users to see their posts and updates.
  • Displaying Followers, Following, Likes & Posts of User: User profiles display information about the number of followers, following, likes, and posts.
  • TikTok Like UI: The user interface is designed to mimic the look and feel of the popular TikTok app.

Prerequisites

Before running the Instagram Clone, make sure you have the following:

  • Flutter SDK (latest version)
  • Dart programming language
  • Firebase account with Firestore, Firebase Auth, and Firebase Storage enabled
  • Flutter packages: firebase_core, cloud_firestore, firebase_auth, firebase_storage, provider

ScreenShot

Tech Stack

  • Flutter: A cross-platform framework for building mobile apps.

  • Firebase: A backend-as-a-service platform for handling authentication, database, and storage.

  • GetX: A lightweight state management library for Flutter.

  • FFmpeg: A multimedia framework used for video compression.

Acknowledgements

  • This project was inspired by the need to replicate the popular features of the Instagram app using Flutter and Firebase.
  • Thanks to the open-source community for providing libraries and resources that made this project possible.

License

The Tiktok Clone project is licensed under the MIT License.

GitHub

View Github