Movie Trivia


¿Qué tecnologías usa?

Kotlin Top MVVM Top Android Top Retrofit Top

Acerca de la app.


É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.



Librerías que usa la app.


La app usa algunas librerías básicas para su funcionamiento, como ser retrofit2, Gson, Okhttp, room, coroutines, navigation component, androidx, coroutines,dagger-hilt.



Explicando algunas librerías.

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.


Se utilizó dagger-hilt para la inyección de dependencias de las datasource en los viewmodel.





#### 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.

A realizar.


Pude obtener el link completo del trailer para su visualización, pero no pude implementar por completo la libreria de visualización de video de youtube https://androidrepo.com/repo/PierfrancescoSoffritti-android-youtube-player-android-kotlin , mi android studio no me dejaba traerla, para resolver este problema se me ocurrió importarla como un módulo más de la aplicación y luego implementarla con los pasos correspondientes de su documentación.