The purpose of this application is to demostrate the usage of Realm
and Alamofire
to build and application that allows the user to see watches articles from NewsAPI
Once you clone this repository make sure you are running on Xcode 12.3
or newer and have CocoaPods installed.
The next step would be to run pod install
to download all the dependencies the app will use, and finally check the project by opening WatchBloggeriOS.xcworkspace
The next step would be to add your own API key inside the Constants file, for simplicity of this demo, you will find my own API key inside the env.sample file
The current state of the application has testing coverage for the Realm database controller, more updates to come soon.
Testing stack consist of:
This application uses Swiftlint for code linting, it gets installed once we set up our pods
and will run swiftlint
whenever we run the application.
Recommended: We can also run
./Pods/SwiftLint/swiftlint autocorrect
to have our swiftlint
correct some warnings and enforce code style.
In order to avoid very complicated merge conflicts, this project works also with xUnique, please refer to the linked repository to install and follow the steps to use it, the command used for this application is:
xunique -s -p WatchBloggeriOS.xcodeproj
This step is optional but if you add a new file or modify the xcodeproj
file then it is recommended to run xunique
for consistency.
A video demo can be found here
Finally here are some screenshots attached: