marty-suzuki / QiitaWithFluxSample

A sample project uses Flux and MVVM features with RxSwift.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

A sample project uses Flux and MVVM features with RxSwift.

License:MIT License


Languages

Language:Swift 99.4%Language:Objective-C 0.6%