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