🎬 An Android application built using Kotlin, Jetpack Compose, MVVM architecture, LiveData, and ViewModel.
Movie Database is a fully functional Android app built entirely with Kotlin and Jetpack Compose. Using MVVM Architecture pattern with View model,Life data and dependency injection with Hilt. For seamless experience between online and offline state, cahcing data with Room local database and for load network image and caching with Glide. Using latest recommended best practices tech stack for Android development.
- Jetpack Compose: Modern toolkit for building native UI.
- MVVM Architecture: Separation of concerns and testability.
- LiveData: Observable data holder class.
- ViewModel: Manage UI-related data in a lifecycle-conscious way.
- Kotlin
- Room: For offline caching
- Glide: For Network image and cache
- Retrofit: For http request
- OkHttp3: implementing interceptor, logging
- Core Splash Api
- Paging3: pagination load data from network
- Youtube player: for load movie and tv series trailer
- Compose Animation: Shared Transition Element
- Di: Hilt
- Pager: Carousel View
- Coroutines
- Kotlin Coroutines: Asynchronous computation
Architecture This project follows the MVVM architecture pattern:
- Model: Represents the data layer. This includes data models and repository classes.
- View: Represents the UI layer. This includes Jetpack Compose UI components.
- ViewModel: Manages the UI-related data and handles the business logic.
- Libraries Used
- Jetpack Compose
- LiveData
- ViewModel
- Kotlin Coroutines
Code Structure
- model: Contains data models and repository classes.
- repository: Contains repository classes.
- dao: Contains data access object for room.
- view: Contains UI components built with Jetpack Compose.
- viewmodel: Contains ViewModel classes.
- di: App module
- db: Room database
- paging: Pagination data source.
- navigation controller: Compose navigation controller
- preview provider: Sample data provide for preview parameter in composable function





