Funny facts about Chuck Norris provided by https://api.chucknorris.io.
This application was developed using these tools and no have warranty that it runs on older versions.
- Xcode 11.7
- Swift 5
- Cocoapods 1.9.3
- You should clone the repository
$ git clone [email protected]:djorkaeffalexandre/chuck-norris-facts.git
- Enter the project folder
$ cd chuck-norris-facts
- Install dependencies
$ pod install
- Open the project on Xcode
$ open -a Xcode Chuck\ Norris\ Facts.xcworkspace
This application conforms to MVVM-C (Model-View-ViewModel-Coordinators) pattern, that helps with separation of concerns and allows testing and implementation to be better than MVC. This application uses RxSwift which allows reacting to changes even with multiple threads and with lot less code, complexity and bugs. Using RxSwift and RxRealm we can listen to database changes and binding them to Views, View Models and View Controllers.
- RxSwift/RxCocoa Reactive Programming in Swift.
- RxDataSources UITableView and UICollectionView Data Sources for RxSwift.
- RxRealm RxSwift extension for RealmSwift's types.
- SwiftLint A tool to enforce Swift style and conventions.
- SwiftGen The Swift code generator for Localizable.strings.
- Lottie An iOS library to natively render After Effects vector animations.
- RealmSwift Realm is a mobile database: a replacement for Core Data & SQLite.
We use Fastlane to provide CLI commands to easily build, test and deploy the application on Continuous Integration and Delivery platforms.
You should install Fastlane and it's plugins using $ bundle install
.
-
Run Unit and UI tests (Running on Github Actions)
$ fastlane ios tests
-
Release the app to Test Flight (Beta Release)
$ fastlane ios beta
Email: [email protected]