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 | |
| iOS |
- 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.
We’ve utilized a range of powerful libraries to bring this project to life:
- Compose UI Components:
compose.runtimecompose.foundationcompose.material3
- Kotlin Coroutines:
kotlinx.coroutinesfor managing asynchronous tasks.
- Serialization:
kotlinx.serializationfor data serialization.
- Coil:
coilcoil.network.ktorfor efficient image loading and caching.
- Ktor:
ktor-client-corektor-client-androidktor-client-darwinktor-client-content-negotiationfor making network requests.
- Napier:
napierfor logging.
- Koin:
koin-coreandkoin-composefor dependency injection.
- Compose Integration:
activity-compose
- Video Playback:
media3-exoplayermedia3-uifor video playback capabilities.
- UI Testing:
ui-test-junit4
- Coroutine Testing:
kotlinx-coroutines-test
- Feather Icons:
compose.icons.feather
- Constraint Layout:
constraintlayout-compose-multiplatform
- Lottie Animations:
compottie
- Compose Navigation:
navigation-composefor navigating between screens.
- ViewModel Integration:
lifecycle-viewmodel-composefor using ViewModel in Compose Multiplatform.
The project is organized into common and platform-specific modules to facilitate code sharing and platform-specific customization.
-
Clone the repository:
git clone https://github.com/Codefy-Labs/Netflix-KMP.git cd Netflix-KMP -
Open the project in Android Studio:
- Make sure you have the latest version of Android Studio with Kotlin Multiplatform support.
-
Build and run the project:
- Select the desired target (Android or iOS) and run the app.
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!