screenshot of Boilerplate


Select the right architecture and functional reactive programming framework


The Tin Woodman of Oz is an open-source repository that demonstrates different architectures and usage of popular reactive programming frameworks. It includes a variety of small apps with basic UI, aimed at saving the time of other developers. Currently, only the GitHub API Client is available, with the rest of the apps to be published soon. The repository welcomes pull requests from the community.


  • MVVM architecture: Utilizes the Model-View-ViewModel architecture pattern.
  • Uses RxSwift: Leveraging the power of reactive programming with RxSwift.
  • Autocompletion search: Includes an autocompletion search feature.
  • GitHub sign in process: Requires users to sign in with their GitHub account.
  • Shows how to zip many network requests: Demonstrates how to combine multiple network requests.
  • RxCocoa UIKit bindings: Utilizes the RxCocoa bindings for UIKit, with a specific focus on UITableView bindings.
  • Uses Moya as networking layer: Utilizes the Moya framework as the networking layer.
  • Implements RxSwift custom operators: Includes custom operators for RxSwift.
  • Implements RxSwift helper operators for Moya: Provides helper operators for Moya.
  • Uses SwiftyJSON: Utilizes the SwiftyJSON library for working with JSON.
  • Models and services unit tests: Includes unit tests for models and services.
  • ViewModels unit tests using RxBlocking and RxTests: Provides unit tests for view models using RxBlocking and RxTests.
  • Upcoming features and code checklist: Lists upcoming features and a code checklist.


The installation steps for the GitHub API client are as follows:

  1. Clone or download the repository from GitHub.
  2. Open the project in Xcode.
  3. Build and run the project.

For more information and additional setup details, refer to the repository and documentation.


The Tin Woodman of Oz is an open-source repository that showcases various architectures and usage of reactive programming frameworks. It includes a GitHub API client and plans to add more small apps in the future. The repository emphasizes the use of RxSwift and provides examples of different features and patterns such as MVVM, VIPER, and network request handling. It also includes unit tests and welcomes contributions from the community.