A TV Showcase 🍿 Android App using Jetpack libraries and MVVM architecture. Data provided by TVMaze API.
- Minimum SDK API level: 21
- Kotlin - Official programming language for Android development.
- Dagger Hilt - Dependency Injection library for Android
- Coroutines - For asynchronous stuff and more.
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Manages UI data and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
- ViewBinding - Bind UI components from layouts to data sources in app using a declarative format rather than programmatically.
- Retrofit - A type-safe HTTP client for Android.
- Room - SQLite object mapping library.
- Moshi - A modern JSON library for Kotlin and Java.
- Moshi Converter - A Converter which uses Moshi for serialization to and from JSON.
- Navigation - A library that helps navigation between fragments
- Coil-kt - An image loading library for Android backed by Kotlin Coroutines.
- Gradle Kotlin DSL - For writing Gradle build scripts using Kotlin.
- Ktlint 💅 - Kotlin linter
- JUnit, Mockito and Mockk for unit tests
- List of all series contained in the API
- Search option to find series by name
- Series detail page that shows details about the series, cast, seasons, and episodes
- Episode detail page
- Cast detail page
- Daily episode calendar
- Option to save to favorites
- Day/Night theme for API level 29+
- Test coverage on Data module
- Test coverage on Domain module
- Shortcuts to main pages
- Adaptive icon
- Support to PT language
- Search by voice