Ésta app usa el patrón de arquitectura MVVM, donde se separan las funcionalidades de la presentation y la lógica de diseño, en capas, básicamente con el objetivo de que no se convierta en código spaghetti y tratando de que sea un sistema de código limpio. Se hizo mucho hincapié en seguir los principios básicos de SOLID y haciendo que la app sea fácilmente legible para cualquier programador conocedor del patrón de arquitectura.
La app usa algunas librerías básicas para su funcionamiento, como ser retrofit2, Gson, Okhttp, room, coroutines, navigation component, androidx, coroutines,dagger-hilt.
Retrofit2 , Gson y okhttp se utilizan para obtener y procesar los datos que provienen de la Api REST con la que se conecta.
Las coroutines se usan para toda la parte de las tareas asíncronas que necesita la app, como la consulta de los datos a la base de datos en room o la consulta a la base de datos de la api REST.
Room se utiliza como la verdadera fuente de información. Es decir, room es de donde nuestro viewmodel saca la info para para poder mostrarla en la vista.
#### El apk de la app se encuentra en el repo bajo el nombre de josechocobar-challenge.apk
##Nota: La aplicación no detecta bien el internet en emuladores, solo funciona correctamente en celulares físicos.