📺 Tv Shows Android Application - linkedin.com/in/hva94
First of all, I want to explain the main development steps of the development.
- MVVM with Clean Architecture
- Navigation Component
- Dagger Hilt
- Lifecycle Components
- Material Design
- Retrofit
- Room
- Research the API documentation
- Create the data and domain layer (Model, Repository, Use Cases and Aux files)
- DatabaseModule
- NetworkModule
- RepositoryModule
- Aux Modules
- Navigation Composable
- ViewModel
- UI Screen Layouts
- Aux Classes
- Libraries (build.gradle, app & project)
- Manifest (Permission and Hilt App)
- Folder Structure (Clean Architecture with MVVM)
- Navigation setup
- Resources (Color, Font, Theme, etc).
- Icon added
- Splash screen added
- Create all the files needed for this
- in the three layers of the project
- Main Screen feature
- API consumption with Paging components
- Persistence management with Room
- Dependency Injection Setup
- Navigation Component Setup
- Create all the files needed for this
- Detail Screen Feature with Collapsing Toolbar added
- Make favorite TvShow functionality added
- Navigation with arguments composable added
- Detail Screen, ViewModel and aux files added
- Use cases, model, repository implementation added
- Http requests, Wrapper, entities, converter, etc. added
- Repository implementation, DI and Mappers added
- Create all the files needed for this
- Profile Screen with Favorite List implemented
- Navigation composable added
- Profile Screen, ViewModel and aux files added
- Use case, repository implementation added
- Dao query, repository and DI implementation added
- Aux Tests Libraries added
- Unit tests added for the most important data flow
- TvShowRepositoryImpl
- HomeViewModel
- DetailViewModel
- ProfileViewModel
- Kotlin
- Architecture Components
- MVVM Design pattern
- Jetpack Compose
- Dependency Injection
- Navigation Component
- Material Design
- Lifecycle
- Navigation Component
- Dagger Hilt
- Room
- Retrofit
- Paging
- Lottie
- Coil
- Truth
- Mockk
- Coroutines Test
- Separation of concerns
- Composable Navigation
- Animations and transitions
- Item list pagination
- Coroutines usage
- Extension functions
- Exception handling
- Material design components
- Lifecycle state components
- Composable components
- DayNight Themes
- Progress indicators
- Screen error handling
- Rotation support
- Splash Screen
- Strings values
- Dimens values
API documentation based: The Movie DB
Get your: API-KEY
(To try the application put your API key in the local.properties file).