Skip to content

Select the right architecture and functional reactive programming framework

Notifications You must be signed in to change notification settings

tailec/boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

The Tin Woodman of Oz

#boilerplate This repository demonstrates different architectures and usage of popular reactive programming frameworks.

I decided to open-source couple of small apps (3-6 screens) with very basic UI. I hope, these projects will save someone else's time.

Currently, only GitHub API Client is available. Rest of the apps will be published very soon!

  1. GitHub API Client - MVVM and RxSwift
  2. 500px photo viewer app - VIPER and RxSwift
  3. TBA - mix of MVVM and VIPER by Florent Pillet (@fpillet) and RxSwift
  4. TODO List - MVVM and SwiftBond
  5. Commits app - MVVM and ReactiveCocoa

Also, there are plans to create sample app using ReSwift.

Pull requests are welcome.

##GitHub API client Watch demo on vimeo.

The GitHub API client requires you to sign in with your GitHub account. Sample app uses your username and password to generate auth token (app doesn't store your login credentials). More information can be found here.

###Features

  • MVVM architecture
  • Uses RxSwift
  • Autocompletion search
  • GitHub sign in process
  • Shows how to zip many network requests
  • RxCocoa UIKit bindings (RxCocoa UITableView bindings are really cool)
  • Uses Moya as networking layer
  • Implements RxSwift custom operators
  • Implements RxSwift helper operators for Moya
  • Uses SwiftyJSON
  • Models and services unit tests
  • ViewModels unit tests using RxBlocking and RxTests

Upcoming features and code checklist

###Setup

cd github
pod install
open github.xcworkspace

##Thanks

##Author Pawel Krawiec

##Licence MIT

About

Select the right architecture and functional reactive programming framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published