Skip to content

marty-suzuki/QiitaWithFluxSample

Repository files navigation

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.