Skip to content

jbcrane13/GrowWise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

379 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌱 Cultivation

Your personal garden companion β€” track plants, log care, and grow with confidence.

Cultivation is a native iOS app for gardeners of all skill levels. Whether you're keeping a single succulent alive or managing a full backyard garden, Cultivation keeps your plants organized, your care schedule on track, and your knowledge growing.


Features

🌿 My Garden

Track every plant in your collection with photos, care notes, and health status. Add plants from a curated database or create your own. See everything at a glance on your garden dashboard.

πŸ”” Smart Reminders

Never miss a watering, fertilizing, or pruning again. Reminders are tailored to each plant's needs, with weather-aware adjustments that adapt to your local conditions.

πŸ““ Plant Journal

Log observations, milestones, and photos over time. Track soil conditions, spot problems early, and build a detailed history for every plant.

🌍 Location-Aware

Set up your garden profile with your location and Cultivation automatically factors in your hardiness zone, climate, and seasonal patterns for smarter care recommendations.

πŸ“š Learning Center

Step-by-step tutorials for beginners, companion planting guides, and a searchable plant database β€” everything you need to level up your gardening knowledge.

🌱 Onboarding

A short skill assessment gets you personalized recommendations from day one. Beginner or expert, the experience adapts to you.


Tech Stack

Layer Technology
Language Swift 6
UI SwiftUI
Data SwiftData
Architecture Workspace + SPM package
Min iOS 18.0
Concurrency Swift 6 strict concurrency

Package Structure

Cultivation/
β”œβ”€β”€ GrowWise/                          # App shell (entry point, lifecycle)
β”‚   └── CultivationApp.swift
β”œβ”€β”€ GrowWisePackage/                   # Primary development area
β”‚   β”œβ”€β”€ Sources/
β”‚   β”‚   β”œβ”€β”€ GrowWiseFeature/           # All UI and feature code
β”‚   β”‚   β”œβ”€β”€ GrowWiseServices/          # Business logic and services
β”‚   β”‚   └── GrowWiseModels/            # SwiftData models
β”‚   └── Tests/                         # Unit + integration tests (72 passing)
└── GrowWiseUITests/                   # UI automation tests

Key Services

  • DataService β€” SwiftData persistence, async-safe
  • ReminderService β€” Notification scheduling with weather adjustment
  • LocationService β€” Hardiness zone + climate lookup
  • PlantDatabaseService β€” Searchable plant catalog
  • CloudSyncService β€” CloudKit sync (in progress)
  • NotificationService β€” Local notifications

Development

Requirements

  • Xcode 16+
  • iOS 18.0+ simulator or device
  • Swift 6

Getting Started

git clone <repo>
cd GrowWise
open GrowWise.xcworkspace

Build and run the GrowWise scheme. The app uses in-memory SwiftData during UI tests β€” no migration needed for simulator runs.

Running Tests

# Unit tests
xcodebuild test -workspace GrowWise.xcworkspace -scheme GrowWisePackage \
  -destination 'platform=iOS Simulator,name=iPhone 16 Pro'

# UI tests
xcodebuild test -workspace GrowWise.xcworkspace -scheme GrowWise \
  -destination 'platform=iOS Simulator,name=iPhone 16 Pro'

Launch Arguments (UI Testing)

Argument Effect
--uitesting Enables in-memory store, disables animations
--skip-onboarding Skips onboarding flow
--reset-data Clears UserDefaults (run before --skip-onboarding)
--reset-onboarding Forces onboarding to show

Status

  • βœ… Core garden tracking (My Garden, plant detail, reminders)
  • βœ… Plant journal with soil logs
  • βœ… Onboarding flow with skill assessment
  • βœ… Location setup + hardiness zone
  • βœ… Tutorial system
  • βœ… 72 unit tests passing
  • πŸ”„ CloudKit sync (in progress)
  • πŸ”„ App Store submission

License

MIT

About

🌱 Modern iOS gardening app built with SwiftUI, SwiftData, and Claude-Flow orchestration. Features plant care tracking, watering reminders, and AI-powered gardening assistance.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors