Box Feed

News App built to demonstrate the use of SwiftUI 3 features, Async/Await, CoreData and MVVM architecture pattern.

News App 📱 built to demonstrate the use of following features,

  • SwiftUI 3
    • Async/Await
    • AsyncImage
    • List
      • Refreshable
      • Swipe Actions
      • Separator
  • Core Data
  • MVVM Architecture Pattern

Made with love ❤️ by Sameer Nawaz

Preview

Home Article Bookmarks

Note

Once you clone the repo,

  • Add your own API key from News API in AppConfig file
  • Checkout your current plan. The News API has limit for developer plan on dates query and content chars

Built With 🛠

  • SwiftUI - SwiftUI is an innovative, exceptionally simple way to build user interfaces across all Apple platforms with the power of Swift.
  • CoreData - Framework used to manage the model layer objects in the application.
  • Figma - Figma is a vector graphics editor and prototyping tool which is primarily web-based.

Project Structure

BoxFeed # Target
|
├── Resources
|
├── Library
|   ├── CoreData            # CoreData ManagedObject
|   ├── Helpers             # All extension functions + CustomViews
|   ├── Models              # Decodable models
|   ├── Services            # NewsService
|
├── Screens
|   |
|   ├── view
|   │   ├── main                    # Main root folder
|   |   │   ├── view                # SwiftUI MainView
|   |   │   └── viewmodel           # ViewModel for MainView
|   │   ├── Home                    # Home root folder
|   |   |   |__ Home                # Home
|   │   ├── Article                 # Article root folder
|   |   |   |__ Article             # Article
|   │   ├── Bookmarks               # Bookmarks root folder
|   |   |   |__ Bookmarks           # Bookmarks
|

License

Apache 2.0 License


Copyright 2021 Sameer Nawaz

GitHub

https://github.com/sameersyd/BoxFeed