This is a sample project that uses Flux and MVVM features.
- ViewController Routing with Flux
- AccessToken management with Flux
- Items searching action with MVVM
- Application
- ApplicationAction
- ApplicationDispatcher
- ApplicationStore
- Route
- RouteAction
- RouteDispatcher
- RouteStore
- RootViewController (switching currentViewController based on RouteStore's value)
- RootViewModel
- LoginNavigationController
- LoginTopViewController
- LoginTopViewModel
- LoginViewController (loading Qiita web site and authorizing user via ApplicationAction)
- LoginViewModel
- LoginViewDataSource
- LoginTopViewController
- SearchNavigationController
- SearchTopViewController (searching items from Qiita)
- SearchTopViewModel
- SearchTopDataSource
- SearchTopViewController (searching items from Qiita)
- 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!
- Action 3.4.1
- RxSwift 4.0.0
- APIKit 3.1.2
- Nuke 5.2
- SwiftyUserDefaults 3.0.1
You can try QiitaSession with playground!
This sample uses Qiita API.
marty-suzuki, s1180183@gmail.com
QiitaWithFluxSample is available under the MIT license. See the LICENSE file for more info.