Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/latifatcii/DailyNews
Daily News is a news app with good looking user interface ! Apps architecture is MVVM and used RxSwift for binding.
https://github.com/latifatcii/DailyNews
autolayout cocoapods collectionview ios ios-app ios-swift newsapi programmatic-interface rxblocking rxcocoa rxswift sdwebimage swift swift5 unit-testing
Last synced: about 1 month ago
JSON representation
Daily News is a news app with good looking user interface ! Apps architecture is MVVM and used RxSwift for binding.
- Host: GitHub
- URL: https://github.com/latifatcii/DailyNews
- Owner: latifatcii
- License: mit
- Created: 2020-03-03T22:00:37.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-07-06T06:19:28.000Z (over 4 years ago)
- Last Synced: 2024-08-03T17:18:30.710Z (4 months ago)
- Topics: autolayout, cocoapods, collectionview, ios, ios-app, ios-swift, newsapi, programmatic-interface, rxblocking, rxcocoa, rxswift, sdwebimage, swift, swift5, unit-testing
- Language: Swift
- Homepage:
- Size: 60.5 MB
- Stars: 50
- Watchers: 3
- Forks: 19
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: License
Awesome Lists containing this project
- fucking-open-source-ios-apps - DailyNews
README
# Daily News
Hey ! Daily News is a news app with good looking user interface ! Apps architecture is MVVM and used RxSwift for binding.
# Architecture
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.# Features
-Functional Programming with RxSwift
-Nested collection views.
-Custom views and layouts
-Pagination
-Programmatically UI
-Unit Tests for networking and view models.# Todos
-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.## Upcoming
-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.## 3rd Party Libraries
-[SDWebImage](https://github.com/SDWebImage/SDWebImage)
-[RxSwift](https://github.com/ReactiveX/RxSwift)
-[TinyConstraints](https://github.com/roberthein/TinyConstraints)## Usage
It is powered by NewsAPI! You should get your free developer API key from [NewsAPI](https://newsapi.org) and add it to DailyNews/Networking/APISettings.swift.# ScreenShots
![](DailyNewsScreenShots/dailyNewsScreenshot.png)
![](DailyNewsScreenShots/news.png)
![](DailyNewsScreenShots/sideMenu.png)
![](DailyNewsScreenShots/sideMenu2.png)
![](DailyNewsScreenShots/categories.png)
![](DailyNewsScreenShots/categories2.png)
![](DailyNewsScreenShots/search.png)
![](DailyNewsScreenShots/sources.png)## License
MIT