Geronimo Sample app implementation The app is based on Model - View - Presenter architecture because it's the most scalable and testable architecture for Android apps Uses INTERNET and ACCESS_NETWORK_STATE permission for checking internet connection and showing images Libraries used : Picasso(image loading) , Butterknife ( view injection) Support libraries used : Design , AppCompat , Cardview , Recylcerview. Works on Android 4.4 and above