Simple app structured according to the architectural design pattern VIPER API Provider - OpenWeatherMap Used frameworks: Generamba for generation VIPER modules Alamofire ObjectMapper for map JSON objects to Swift types AlamofireObjectMapper SugarRecord CoreData wrapper Dependency Injection - Swinject SwinjectStoryboard ViperMcFlurry only for transferring data between VIPER modules Cuckoo for simplify writing stubs of protocols in Unit tests