Skip to content

phuhk/vdctesting

Repository files navigation

vdctesting

This assignment from VDC

Architecture

  • This project was using the MVVM app architecture for Presentation Layer.
  • Using Clean Architecture data flow
  • Using Dependency injection pattern
  • Separate raw Model from API response with Model using in View
  • Defined Contract for both Input/Output for each Scene
  • Using Cocoapods as Packet Manager
  • Architecture

Project Structure

  1. Target OpenWeatherClient
  • Application: contain Appdelegate and SceneDelegate
  • Configurations: contain XCodeConfig and Info.plist
  • Factory: Dependencies proxy using in app
  • Component: contain Coordinator, Manager, Services and Constants using in app
  • Models: Raw model from API response
  • Scenes: Scenes using in app
  • Extensions: category
  • Resources: resources using in app
  1. OpenWeatherClientTests
  • Configurations: testing Configurations
  • Factory: contain Mock and testing Dependencies
  • Scene: contain testing all Base file and WeatherForecastViewModel

Libraries

  • RxSwift/RxCocoa: Reactive Programming in Swift
  • RxDataSources: UITableView and UICollectionView Data Sources for RxSwift
  • RxKeyboard: Reactive Keyboard in iOS
  • RxReachability: RxSwift bindings for Reachability
  • Action: Abstracts actions to be performed in RxSwift
  • SnapKit: Autolayout DSL
  • Quick: A BDD framework for Swift and Objective-C
  • Nimble: A matcher framework for your tests
  • RxBlocking/RxTest: Testing your Reactive code

How to run on local computer

  1. Install Xcode (MacOS)
  2. Install CocoaPods by following guide: https://guides.cocoapods.org/
  3. Open Terminal at root project dir
  4. Type pod install
  5. Launch OpenWeatherClient.xcworkspace and press Run button.

Checklist

  1. Programming language: Swift
  2. Design app's architecture: MVVM
  3. UI should be looks like in attachment.
  4. Write UnitTests
  5. Acceptance Tests
  6. Exception handling
  7. Caching handling
  8. Accessibility for Disability Supports:
  9. Entity relationship diagram for the database and solution diagrams for the components, infrastructure design if any
  10. Readme file includes

About

This assignment from VDC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published