This is Github user search demo app that made with Flux design pattern.
Search Github user and show user result list
- SearchViewDataSource <- Adapt UITableViewDataSource and UITableViewDelegate
- SearchAction
- SearchStore
Show local on memory favorite repositories
- FavoriteViewDataSource <- Adapt UITableViewDataSource and UITableViewDelegate
- FavoriteAction
- FavoriteStore
Show Github user's repositories
- UserRepositoryViewDataSource <- Adapt UITableViewDataSource and UITableViewDelegate
- UserRepositoryAction
- UserRepositoryStore
Show a repository and add / remove local on memory favorites
You can add / remove favorite repositories in RepositoryViewController. Array of favorite repository is hold by FavoriteModel that injected to each actions, therefore you can use its reference everywhere!
You need to set Github Personal Access Token
like this.
extension ApiSession {
static let shared: ApiSession = {
let token = "" // <- Your Github Personal Access Token
return ApiSession(injectToken: { InjectableToken(token: token) })
}()
}
- Xcode 12 or later
- iOS 13 or later
- Swift 5 or later
marty-suzuki, [email protected]
iOSDesignPatternSamples is available under the MIT license. See the LICENSE file for more info.