Demo app that consumes the splash api which performs a search with pagination in Viper architecture

Photos App

App demo que consume la api de splash la cual realiza una busqueda con paginación en arquitectura Viper.

Goals

  • OK – 100% Swift
  • OK – VIPER
  • OK – Paginado
  • OK – Listado de infomación con TableView en el Storyboard.
  • OK – Buscador.
  • OK – Guardado de img en caché con NSCache
  • OK – Llamada Api’s con URLSession.

Mejoras

  • Prefetch de data… creare una branch para implentar esto.

Nota

Se agrego Alamofire y Kingfisher pero no se uso, se opto por hacerlo nativo.

Arquitectura

Distribución de carpetas

├── View                     # ViewControllers
|
├── Interator                # Capa de trae la la informacion en un Entity de vista desde local o remoto
│   ├── local                # Persistencia de datos
|   │   ├── dao              # Acceso a datos local
|   |   ├── entities         # Entidades local
|   |   ├── mappers          # Transformacion de entidades local a entidades del vista
│   ├── remote               # Datos remotos
|   |   ├── mapper           # Transformacion de entidades remoto a entidades del vista
|   |   ├── entities         # Entidades de remote
|   |   ├── service          # Invocacion de los servicios de la Api
|
├── Presenter                # Intermediario de la view con el interator
|
├── Entity                   # Entidades del proyecto/vista que recuperar el interator
|
├── Router                   # Clase encargada de la navegación de nuestra app
|
├── protocols                # Protocolos por modulo en cada capa V.I.P.E.R.
|
├── core                     # Guardo clases en general que no tiene que ver con VIPER 
│   ├── cells                # Cells de los tableview
│   ├── extencios            # Extenciones de clases 
│   └── resources            # Recursos multimedia
│   └── utils          	     # General


GitHub

View Github