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.runtime
compose.foundation
compose.material3
- Kotlin Coroutines:
kotlinx.coroutines
for managing asynchronous tasks.
- Serialization:
kotlinx.serialization
for data serialization.
- Coil:
coil
coil.network.ktor
for efficient image loading and caching.
- Ktor:
ktor-client-core
ktor-client-android
ktor-client-darwin
ktor-client-content-negotiation
for making network requests.
- Napier:
napier
for logging.
- Koin:
koin-core
andkoin-compose
for dependency injection.
- Compose Integration:
activity-compose
- Video Playback:
media3-exoplayer
media3-ui
for 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-compose
for navigating between screens.
- ViewModel Integration:
lifecycle-viewmodel-compose
for 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!