Movies Catalog

Problem

We need to view movies and be aware with each movie details like movie's name, overview, rating and so on

Solution

We built an application that consisit of 2 screens the first is shown 3 lists of movies first list is sorted by popularity, second one is sorted by movies top rated and the third is sorted by the revenue by clicking on any movie it will navigate you to details screen that contains movie poster, name, overview, rating and release date

ScreenShots

Architecutre

In this App i used MVVM Architecture so there are 5 layers

  • View: represented in Activity that is responsable for showing UI elements
  • ViewModel: responsable for the UI Logic and data resistance
  • use case: responsable for business logic
  • repository: decide which data source should we call to get a specific data
  • data source: getting data from the api

Technologies

  • Kotlin (programming language)
  • co-routine (handle threading)
  • View binding (dealing with views)
  • Retrofit ( calling api )
  • Dagger Hilt (dependency injection tool)
  • Mockk (mock data in unit test)