QiitaWithFluxSample
This is a sample project that uses Flux and MVVM features.
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
- LoginTopViewController
- SearchNavigationController
- SearchTopViewController (searching items from Qiita)
- SearchTopViewModel
- SearchTopDataSource
- SearchTopViewController (searching items from Qiita)
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!
Libraries
- Action 3.4.1
- RxSwift 4.0.0
- APIKit 3.1.2
- Nuke 5.2
- SwiftyUserDefaults 3.0.1
Playground
You can try QiitaSession with playground!
Special Thanks
This sample uses Qiita API.
Author
marty-suzuki, [email protected]
License
QiitaWithFluxSample is available under the MIT license. See the LICENSE file for more info.