Skip to content

Umair-Syed/Gratitude

Repository files navigation

Gratitude

Gratitude iOS application built with SwiftUI

Architecture

The app follows the MVVM (Model-View-ViewModel) architecture pattern for clean separation of concerns:

Core Components

  • Features
    • Bookmarks
      • Model: BookmarkedCardModel
      • View: BookmarksView
      • ViewModel: BookmarksViewModel
    • Home
      • Model: DailyGratitude
      • View: DailyGratitudeView, GratitudeCardView
      • ViewModel: DailyGratitudeViewModel

Services

  • 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

Utilities

  • CachedAsyncImageView: Efficient image loading and caching
  • NetworkMonitor: Monitors network connectivity
  • ShareActivityItemSource: Handles share functionality using external apps. (Note: Facebook not yet implemented)

Installation

  1. Clone the repository
git clone https://github.com/Umair-Syed/Gratitude
  1. Open the project in Xcode
cd Gracious-Gratitude
open Gracious_Gratitude.xcodeproj
  1. Build and run the project in Xcode

Project Structure

Gracious-Gratitude/
├── Features/
│   ├── Bookmarks/
│   │   ├── Model/
│   │   ├── View/
│   │   └── ViewModel/
│   └── Home/
│       ├── Model/
│       ├── View/
│       └── ViewModel/
├── Services/
│   ├── APIService
│   ├── ImageCache
│   ├── NetworkManager
│   └── Persistence
├── Utilities/
│   ├── CachedAsyncImageView
│   ├── NetworkMonitor
│   └── ShareActivityItemSource
├── Assets/
└── Preview Content/

Contact

Email: syedumairandrabi66@gmail.com

Project Link: https://github.com/Umair-Syed/Gratitude


Made with ❤️ and Gratitude

About

Gratitude iOS app in Swift/SwiftUI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages