Project Setup: The project is set up using the following Jetpack libraries:

  • Compose
  • ViewModel
  • LiveData
  • Navigation

The project also uses the following third-party libraries:

  • Retrofit
  • Coil
  • Material Components

App Overview:

The app starts with a grid of images. The images are loaded from the JSON file specified in the requirements. The user can browse the images in the grid by scrolling up and down.

When the user clicks on an image, the details-view opens. The details-view displays the enlarged image, title, and description. The user can also send the image, title, and description via email from the details-view.

The user can filter the grid using the search field at the top of the screen. The search field filters the grid based on both the title and description of the images.

Conclusion: This prototype Android app demonstrates my ability to develop Android apps using Jetpack and MVVM. The app adheres to common architectural practices and UX principles. It also performs well in both dark and light mode.