The application allows a Twitter user to be searched by their username, and if found, displays the most recent tweets from that user. And it presents a possible evaluation of feelings in relation to this tweet, which can be classified into three possible feelings: sad, neutral and happy, when it is selected from the list, showing three possible emojis to represent these feelings.
This sample app to demonstrate some aspect of clean architecture using MVVM-C pattern, RxSwift, dependency injection, unit testing, and some of the best practices used in modern iOS programming using Swift.
CocoaPodsfor dependency management;RXSwiftfor asynchronous and reactive communication;Swinjectfor dependency injection;Moyafor communicating with APIs;ObjectMapperfor mapping the serialization of API responses;lottie-iosfor animations;SwiftSpinnerfor loading;BRYXBannerto display temp messages alert;RxBlockingfor help in the testing layer.
- API REST from Twitter (https://developer.twitter.com)
- API REST from Google Natural Language (https://cloud.google.com/natural-language)
Run the pod install command
The keys for both the Twitter API and the Google API are still functional for testing, so just run the application and everything should work.
If it no longer works, it will be because the keys have already been intentionally disabled, and you need to update them within Resources/Configuration.plist