Skip to content

petemcgowan/Organico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

103 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Organico 🌿

Swift 6 iOS 18 SwiftUI License

A native iOS 18 e-commerce experience bridging content and commerce with an offline-first architecture.

📖 Overview

Organico is a modern healthy living application that seamlessly integrates recipe discovery with grocery shopping. Unlike standard e-commerce apps, Organico features dynamic "Shop the Recipe" logic, allowing users to convert ingredient metadata into purchasable inventory items instantly.

This project represents a cutting-edge Swift 6 / iOS 18 app, featuring file-system persistence, complex state management, and fluid UI animations.

Note: This is the main code project for Organico. You can find its design/release project (marketing assets & design resources) here: Organico Design & Release

📱 App Preview

OrganicoAppRecordingP1_comp600.mp4
OrganicoAppRecordingP2_comp600.mp4

🏗 Architecture

The app uses a robust Offline-First architecture. It removes the dependency on volatile network calls for core user experiences (Cart, Favorites) by utilizing a custom DataManager.

  • UI Layer: Native SwiftUI views using NavigationStack and typed routing.
  • State Layer: Utilizes the new @Observable macro for fine-grained dependency tracking.
  • Persistence: Serializes user state (Cart, Favorites) to the local file system (JSON) via FileManager, ensuring data survives app termination.
  • Services: Includes a layer for Payment Gateways (Stripe/Apple Pay) for secure checkout flows.
graph TD
    User((User))
    
    subgraph "UI Layer (SwiftUI)"
        Home[Home & Browse]
        Recipe[Recipe Content]
        Shop[Product Store]
        Cart[Cart & Checkout]
    end
    
    subgraph "State Layer (@Observable)"
        DataManager{Data Manager}
    end
    
    subgraph "Persistence Layer"
        LocalData[Local JSON Data]
        FileSystem[("File System<br>Cart & Favorites")]
    end
    
    subgraph "Services"
        Stripe["Payment Gateway<br>"]
    end

    User --> Home
    User --> Shop
    
    Home --> DataManager
    Recipe --> DataManager
    Shop --> DataManager
    
    Recipe -.->|Cross-Sell| Shop
    
    DataManager <-->|Load/Save State| FileSystem
    LocalData -->|Fetch Catalog| DataManager
    
    Cart -->|Process Transaction| Stripe
Loading

✨ Key Features

  • iOS 18 Visuals: Implements the new MeshGradient for organic, fluid background animations that reinforce the brand identity.
  • Offline-First Cart: User state (Cart items, Favorites) is persisted to the local Documents directory, ensuring data survives app termination.
  • Dynamic Cross-Selling: "Shop the Recipe" feature intelligently maps recipe ingredients to product inventory IDs.
  • Secure Checkout Flow: A multi-step state machine handles address validation, delivery calculation, and payment processing simulation.
  • Performance: Refactored from ObservableObject to the unified Swift 6 @Observable macro for fine-grained dependency tracking and reduced view re-renders.

📱 Interface Design

🛠 Tech Stack

  • Language: Swift 6
  • UI Framework: SwiftUI (Native)
  • Navigation: NavigationStack with typed routing
  • State Management: @Observable / @Environment
  • Image Caching: SDWebImageSwiftUI
  • Payments: Stripe / Apple Pay Layer

🚀 Getting Started

  1. Clone the repository:
    git clone https://github.com/petemcgowan/Organico.git
  2. Open Organico.xcodeproj in Xcode 16+.
  3. Ensure the deployment target is set to iOS 18.0.
  4. Run on iPhone 16 Pro Max simulator for the best layout experience.

Built by Peter McGowan

About

Organico e-commerce store app on iPhone (SwiftUI)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors