Gratitude iOS application built with SwiftUI
The app follows the MVVM (Model-View-ViewModel) architecture pattern for clean separation of concerns:
- Features
- Bookmarks
- Model: BookmarkedCardModel
- View: BookmarksView
- ViewModel: BookmarksViewModel
- Home
- Model: DailyGratitude
- View: DailyGratitudeView, GratitudeCardView
- ViewModel: DailyGratitudeViewModel
- Bookmarks
- APIService: Handles API communications
- ImageCache: Manages caching of images
- NetworkManager: Handles network operations with URL caching for offline support.
- Persistence: Manages data persistence in CoreData and iCloud
- CachedAsyncImageView: Efficient image loading and caching
- NetworkMonitor: Monitors network connectivity
- ShareActivityItemSource: Handles share functionality using external apps. (Note: Facebook not yet implemented)
- Clone the repository
git clone https://github.com/Umair-Syed/Gratitude- Open the project in Xcode
cd Gracious-Gratitude
open Gracious_Gratitude.xcodeproj- Build and run the project in Xcode
Gracious-Gratitude/
├── Features/
│ ├── Bookmarks/
│ │ ├── Model/
│ │ ├── View/
│ │ └── ViewModel/
│ └── Home/
│ ├── Model/
│ ├── View/
│ └── ViewModel/
├── Services/
│ ├── APIService
│ ├── ImageCache
│ ├── NetworkManager
│ └── Persistence
├── Utilities/
│ ├── CachedAsyncImageView
│ ├── NetworkMonitor
│ └── ShareActivityItemSource
├── Assets/
└── Preview Content/
Email: syedumairandrabi66@gmail.com
Project Link: https://github.com/Umair-Syed/Gratitude
Made with ❤️ and Gratitude