Skip to content

Showcasing Protocol Oriented MVVMC - Four hour interview project

Notifications You must be signed in to change notification settings

BenSullivan-iOS/MVVMC-Weather-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Demo Weather App for Wipro

This is an app developed in the MVVM-C architecture showcasing Swift 4's new Codable protocol and utilising Protocol Oriented Programming concepts throughout.

The chosen architecture is designed to make the code highly readable, maintainable and reusable. All relevant communication between objects is via protocols.

Build & Run

Requires Xcode 9.

The app is hardcoded with a valid API key and the location of London, UK. It will run directly in the simulator.

Terminology

Model - The Entities and services which are unrelated to specific views or viewModels

View - The combination of both the View Controller and the View

ViewModel - Provides data to be displayed by the View Controller by conforming to various services

Coordinator - Responsible for creating the View/ViewModel stacks and handling navigation between screens

Future Improvements

Before implementing any other features I would want to add unit tests to ensure all of the APIs are working correctly.

There are many improvements I would make to both the code and UI with more time. I would focus on displaying information in an extremely clear and concise way so that the user can quickly see relevant forecasts. I would ensure it uses the user's location to display local forecasts as well as having the option to choose any other location. A detail view would be provided to show more detailed information where required.

About

Showcasing Protocol Oriented MVVMC - Four hour interview project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages