MoviesApp is a Kotlin-based Android application that allows users to search for movies, view details, and watch trailers. The app uses Compose Multiplatform for the UI and Koin for dependency injection and supports IOS, Android and JVM.
- Search Movies: Search for movies, TV shows, and people.
- View Details: View detailed information about movies.
- Watch Trailers: Watch trailers of movies.
- Popular Movies: Browse popular movies.
- Top Rated Movies: Browse top-rated movies.
- Upcoming Movies: Browse upcoming movies.
- Now Playing Movies: Browse movies that are currently playing.
- Search: Search Movies
- Kotlin: Programming language used for development.
- Multiplatform Compose: Modern toolkit for building native Android UI.
- Koin: Dependency injection framework.
- Voyager: Navigation library for Jetpack Compose.
- Gradle: Build automation tool.
- Ktor: HTTP client for networking.
- Coroutines: Asynchronous programming.
- Serialization: JSON serialization library.
- Coil: Image Loading and Caching
- JavaFX: JVM WebView
src/commonMain/kotlin/com/kashif/common/presentation/
: Common presentation logic.src/commonMain/kotlin/com/kashif/common/data/
: Common data logic.src/commonMain/kotlin/com/kashif/common/domain/
: Common domain logic.src/commonMain/kotlin/com/kashif/common/di/
: Common dependency injection logic.src/androidMain/kotlin/com/kashif/android/
: Android-specific logic.src/ioMain/kotlin/com/kashif/ios/
: iOS-specific logic.src/jvmMain/kotlin/com/kashif/jvm/
: JVM-specific logic.iosApp
: iOS-specific configuration and entry point.androidApp
: Android-specific configuration and entry point.jvmMain
: JVM-specific configuration and entry point.
- Android Studio Koala | 2024.1.1 Patch 2
- Kotlin 2.0.0+
- Gradle 8.0+
-
Clone the repository:
git clone https://github.com/yourusername/MoviesApp.git cd MoviesApp
-
Run in Android Studio:
- Open the project in Android Studio.
- Build and run the project.
- Search for Movies: Use the search bar to find movies, TV shows, or people.
- View Movie Details: Click on a movie to view its details.
- Watch Trailers: Click on the play button to watch a movie trailer on ios, android and JVM.
- Browse Movies: Scroll through the lists of popular, top-rated, upcoming, and now-playing movies.
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes.
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Open a pull request.
This project is licensed under the MIT License - see the LICENSE
file for details.
If you have any questions, please contact [kashismails@gmail.com].