Skip to content

A basic news app using SwiftUI and Combine in MVVM+Coordinator Architect. This is my very first try to build a compete SwiftUI project and will improve and update.

Notifications You must be signed in to change notification settings

EmadBeyrami/News-SwiftUI-Combine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

News iOS App using SwiftUI and Combine in MVVM + Coordinator Architect

A basic news app using SwiftUI and Combine in MVVM+Coordinator Architect. This is my very first try to build a compete SwiftUI project and will improve and update. I will write a medium article about it in further future.

To run the project:

  • You can easily get your NEWS API KEY from www.newsapi.com
  • Then put your APIKey in Container.Swift file (I putted a mannual warning to locate it)
  • The only dependency used is KingFisher (v-5.13.0). I add it using swift package manager you can add it using whatever dependecy manager you like.

Warning!

Consider this app as my very very first SwiftUI + Combine project experience which I developed in less than two days. There are a lots of UX and Codebase Problem. this is not how I ussually code. I will try to refactor and improve it in further future.

Current Features:

  • Completely Native: Used SwiftUI and Combine and CoreDate
  • Localization: Currently Supports English and Danish (Change language in Setting)
  • Have two Enviroments: Development and Production
  • Modularized
  • Pageable Breaking News
  • Categorized News
  • sources news
  • search news

Next Up:

  • SwiftLint
  • SwiftGen
  • Trying to add Widget
  • Refactoring Network Layer
  • Improving UI
  • Error handling
  • Empty State Handling
  • Unit Testing

About

A basic news app using SwiftUI and Combine in MVVM+Coordinator Architect. This is my very first try to build a compete SwiftUI project and will improve and update.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages