Hey ! Daily News is a news app with good looking user interface ! Apps architecture is MVVM and used RxSwift for binding.
I preferred MVVM for this project because its more testable and maintainable than MVC. And VIPER would be an overkill for this project. I have solved binding problem with Functional Programming using RxSwift.
-Functional Programming with RxSwift
-Nested collection views.
-Custom views and layouts
-Pagination
-Programmatically UI
-Unit Tests for networking and view models.
-Implement side Menu with screen edge pan and tap gestures.
-Add Unit tests for Search Screen
-Add refreshing to every screens.
-Subscribe to errors and show alert.
-I will use Apple's Combine framework and Delegation Pattern for binding in different branches to see cons and pros of three different binding solution for MVVM.
-SDWebImage
-RxSwift
-TinyConstraints
It is powered by NewsAPI! You should get your free developer API key from NewsAPI and add it to DailyNews/Networking/APISettings.swift.
MIT