Skip to content

alexymumo/Movies

Repository files navigation

Movies

Table of Contents

Prerequisite


Architecture


TechStack

  • Koin - Dependency injection library for kotlin and android
  • Jetpack Components
    • Jetpack Compose - Modern toolkit for building native UI.
    • Android KTX - Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
    • AndroidX - Major improvement to the original Android Support Library, which is no longer maintained.
      • Lifecycle - Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
      • ViewModel - Designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.
    • Room - Provides an abstraction layer over SQLite used for offline data caching.
    • Navigation Component - Component that allows easier implementation of navigation from simple button clicks to more complex patterns.
    • Retrofit - Type-safe http client and supports coroutines out of the box.
  • GSON - JSON Parser,used to parse requests on the data layer for Entities and understands Kotlin non-nullable and default parameters.
  • OkHttp-Logging-Interceptor - Logs HTTP request and response data.
  • Coroutines - Library Support for coroutines.
  • Flow - Flows are built on top of coroutines and can provide multiple values. A flow is conceptually a stream of data that can be computed asynchronously.
  • Timber - Library for easier logging.
  • Coil - Image Library from loading images from the database and caching in memory.
  • kotlinx.coroutines - Library Support for coroutines,provides runBlocking coroutine builder used in tests.

Screenshots



Splash Screen Home Screen Detail Screen Liked Screen Search Screen