🎬 Netflix Clone - Compose Multiplatform

Welcome to the Netflix Clone project by CodefyLabs! This repository showcases the power of Compose Multiplatform by creating a sleek, Netflix-like app that runs seamlessly on both Android and iOS.

Platform Preview
Android Android Demo
iOS iOS Demo

🚀 Features

  • Cross-Platform Compatibility: Build once and run on both Android and iOS.
  • Intuitive UI: A sleek and user-friendly interface inspired by Netflix.
  • Smooth Performance: Optimized for high performance and smooth navigation.
  • Open-Source: Fully customizable and open to contributions.

📚 Dependencies

We’ve utilized a range of powerful libraries to bring this project to life:

Core Libraries

  • Compose UI Components:
    • compose.runtime
    • compose.foundation
    • compose.material3
  • Kotlin Coroutines:
    • kotlinx.coroutines for managing asynchronous tasks.
  • Serialization:
    • kotlinx.serialization for data serialization.

Image Loading

  • Coil:
    • coil
    • coil.network.ktor for efficient image loading and caching.

Networking

  • Ktor:
    • ktor-client-core
    • ktor-client-android
    • ktor-client-darwin
    • ktor-client-content-negotiation for making network requests.

Utilities

  • Napier:
    • napier for logging.
  • Koin:
    • koin-core and koin-compose for dependency injection.

Android-specific

  • Compose Integration:
    • activity-compose
  • Video Playback:
    • media3-exoplayer
    • media3-ui for video playback capabilities.

Testing

  • UI Testing:
    • ui-test-junit4
  • Coroutine Testing:
    • kotlinx-coroutines-test

Icons and UI

  • Feather Icons:
    • compose.icons.feather
  • Constraint Layout:
    • constraintlayout-compose-multiplatform
  • Lottie Animations:
    • compottie

Navigation and ViewModel

  • Compose Navigation:
    • navigation-compose for navigating between screens.
  • ViewModel Integration:
    • lifecycle-viewmodel-compose for using ViewModel in Compose Multiplatform.

📂 Project Structure

The project is organized into common and platform-specific modules to facilitate code sharing and platform-specific customization.

🚀 Getting Started

  1. Clone the repository:

    git clone https://github.com/Codefy-Labs/Netflix-KMP.git
    cd Netflix-KMP
  2. Open the project in Android Studio:

    • Make sure you have the latest version of Android Studio with Kotlin Multiplatform support.
  3. Build and run the project:

    • Select the desired target (Android or iOS) and run the app.

🤝 Contributing

We welcome contributions! If you have suggestions, bug reports, or improvements, please open an issue or submit a pull request.\

Feel free to adjust any sections or add more details as necessary!