Skip to content

engosamamohsen/Android-search-task

Repository files navigation

Android Search Task

Android Search is a sample Android project using The Movie DB API based on MVVM architecture. It showcases the app development with well-designed architecture and up-to-date Android tech stacks.

Features

  • 100% Kotlin
  • MVVM architecture
  • Coroutine
  • Retrofit
  • Reactive pattern
  • Android architecture components and Jetpack
  • Single activity
  • Dependency injection

Tech Stacks

  • Retrofit + OkHttp - RESTful API and networking client.
  • Android Architecture Components - A collections of libraries that help you design rebust, testable and maintainable apps.
    • ViewModel - UI related data holder, lifecycle aware.
    • LiveData - Observable data holder that notify views when underlying data changes.
    • Data Binding - Declarative way to bind data to UI layout.
    • Navigation component - Fragment routing handler. (Upcoming)
    • WorkManager - Tasks scheduler in background jobs. (Upcoming)
  • RxJava - Asynchronous programming with observable streams.
  • Glide - Image loading.
  • Jetpack Compose - Declarative and simplified way for UI development. (Upcoming)
  • Coroutines - Light-weight threads for background operations. (Upcoming)

Architectures

We follow Google recommended Guide to app architecture to structure our architecture based on MVVM, reactive UI using LiveData / RxJava observables and data binding.

  • View: Activity/Fragment with UI-specific logics only.
  • ViewModel: It keeps the logic away from View layer, provides data streams for UI and handle user interactions.
  • Model: Repository pattern, data layers that provide interface to manipulate data from both the local and remote data sources. The local data sources will serve as single source of truth.

About

Android Search App For Movies

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages