Skip to content

Architecture and Components

akshay-at-yml edited this page Aug 22, 2022 · 2 revisions

Architecture

  • Multi-module application with MVI clean architecture pattern
  • Jetpack Compose for UI
  • Retrofit for making network calls
  • Dagger Hilt for DI
  • Coroutines + Flows
  • Shot, Showkase and Paparazzi - used for screenshot testing

Module Structure

  • app combines all feature modules and decides navigation between pages
  • design contains reusable component UIs. Primarily screenshot testing is done here This involves showkase+paparazzi tests as unit tests and showkase + shot as instrumentation tests
  • core has retrofit setup and common utility classes
  • feature module contains multiple stand alone features which depend on design and core modules. Only Paparazzi tests are written here
    • launcher
    • home has home, article / blog listing and detail screens
Clone this wiki locally