An open API service indexing awesome lists of open source software.

https://github.com/jarroyoesp/cleanproject

Project to get weather from OpenWeatherMapAPI using Clean Architecture Principles
https://github.com/jarroyoesp/cleanproject

Last synced: 29 days ago
JSON representation

Project to get weather from OpenWeatherMapAPI using Clean Architecture Principles

Awesome Lists containing this project

README

        

![promisechains](https://github.com/jarroyoesp/CleanProject/blob/master/app_architecture.png)

Se ha decidido tratar de montar un proyecto que sea lo más reusable, testable y escalable posible. Para ello se ha usado el patrón MVP de forma que:

- La vista se encarga únicamente de pintar la información
- El presenter interactúa entre la vista y el modelo dependiendo de los casos de uso
- Las peticiones se hacen independientemente de la vista, de forma que si quisiéramos usar otra librería bastaría con cambiar la implementación.
- Para el tratamiento de voz se ha tratado de usar Wit pero se ha visto que para versiones Android > 6 hay un problema. Se ha encontrado la solución pero debido a la falta de tiempo no ha sido integrada. Habría que compilar la librería de nuevo.

En cuanto a las peticiones:
1. Usamos un patrón repositorio el cual se encarga de ver de donde obtener los datos. En este caso solo usaremos remoto, pero podría darse el caso de que se quisiera cachear la info y usando este patr\'f3n bastar\'eda con implementar como almacenar la info (SQLite, realm)
2. Lo ideal hubiera sido que cada capa tuviera su propio modelo de datos, parseandolos entre capas de forma que independientemente de la API que usaremos no hubiera que tocar código de interfaz. Para este caso hemos usado un modelo único