Marvel Heroes es una app para Android que lista algunos de los súperheroes de Marvel con sus características.
- Kotlin
- MVP Clean (simplificado)
- Dagger2
- RxJava2
- Room
-
Se ha adaptado una aplicación que inicialmente estaba implementada usando una arquitectura MVP Clean simplificada. Dicha aplicación se ha replanteado con una arquitectura MVVM.
-
Se ha implementado la persistencia de datos con Room.
-
Los componentes como el ActionBar, el uso de
notifyDataSetChanged()
, Android KTX, etc. que había en la aplicación inicial (MVP) se han mantenido.
- Se ha implementado la arquitectura MVVP.
- Para la lista de Marvel Heroes. A través del
ViewModel
se consulta y se actualiza el modelo. - Para el detalle de cada Marvel Hero, donde también se carga y se actualiza la información del superhéroe correspondiente mediante el
ViewModel
.
- Para la lista de Marvel Heroes. A través del
- Se ha implementado el modelo de bbdd con Room. Para casar el modelo de datos con la API se ha creado una nueva que incluye, además, los campos
id
(pk) yfavourite
. - Se ha implementado la funcionalidad de marcar un Marvel Hero como favorito desde ambas vistas: lista y detalle.
Nota
Se ha invertido la carga de datos del repositorio: primero se carga la API y después la bbdd.
El motivo es que se ha invertido mucho tiempo en hacerlo en el orden lógico (primero bbdd y después API) pero se han encontrado muchos inconvenientes y no había tiempo).
Debido al tiempo invertido en el punto anterior (orden de carga del repositorio):
- No se han implementado más tests.
- No se ha implementado el review.