A sample project uses Flux and MVVM features with RxSwift.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Carthage support swift4 Nov 18, 2017
Images update README.md Nov 19, 2017
QiitaSession
QiitaWithFluxSample.xcodeproj fix tableview extension Dec 4, 2017
QiitaWithFluxSample.xcworkspace support swift4 Nov 18, 2017
QiitaWithFluxSample
QiitaWithFluxSampleTests fix dispatcher Nov 19, 2017
.gitignore use carthage instead of cocoapods Apr 23, 2017
Cartfile support swift4 Nov 18, 2017
Cartfile.resolved
LICENSE Initial commit Apr 2, 2017
README.md update README.md Nov 19, 2017

README.md

QiitaWithFluxSample

This is a sample project that uses Flux and MVVM features.

Qiita

Features

  • ViewController Routing with Flux
  • AccessToken management with Flux
  • Items searching action with MVVM

Flux Classes

  • Application
    • ApplicationAction
    • ApplicationDispatcher
    • ApplicationStore
  • Route
    • RouteAction
    • RouteDispatcher
    • RouteStore

Structures

  • RootViewController (switching currentViewController based on RouteStore's value)
    • RootViewModel
    • LoginNavigationController
      • LoginTopViewController
        • LoginTopViewModel
      • LoginViewController (loading Qiita web site and authorizing user via ApplicationAction)
        • LoginViewModel
        • LoginViewDataSource
    • SearchNavigationController
      • SearchTopViewController (searching items from Qiita)
        • SearchTopViewModel
        • SearchTopDataSource

structure

Requirements

  • Swift 4
  • Xcode 9.1
  • iOS 10.0
  • Carthage 0.25.0

Please register your application to Qiita.
After that, fill redirectUrl, clientId and clientSecret in Config.swift!

config

Libraries

Playground

You can try QiitaSession with playground!

Special Thanks

This sample uses Qiita API.

Author

marty-suzuki, s1180183@gmail.com

License

QiitaWithFluxSample is available under the MIT license. See the LICENSE file for more info.