64
README.md
Normal file
64
README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# PlantTime
|
||||
|
||||
A plant identification and care management iOS app built with SwiftUI.
|
||||
|
||||
## Features
|
||||
|
||||
- **Plant Identification** - Identify plants using on-device ML (Core ML) with PlantNet API fallback
|
||||
- **Plant Collection** - Save and organize your identified plants
|
||||
- **Room Organization** - Group plants by room (Kitchen, Living Room, Bedroom, etc.)
|
||||
- **Care Scheduling** - Track watering, fertilizing, repotting, pruning, and pest control
|
||||
- **Today View** - Dashboard showing overdue and today's care tasks
|
||||
- **Progress Photos** - Capture growth photos with time-lapse playback
|
||||
- **Photo Reminders** - Scheduled reminders for progress photos (weekly, bi-weekly, monthly)
|
||||
- **CloudKit Sync** - Sync plants and care data across devices via iCloud
|
||||
- **Dark Mode** - Full dark mode support with semantic color tokens
|
||||
|
||||
## Screenshots
|
||||
|
||||
*Coming soon*
|
||||
|
||||
## Requirements
|
||||
|
||||
- iOS 17.0+
|
||||
- Xcode 15.0+
|
||||
- Swift 5.9+
|
||||
|
||||
## Architecture
|
||||
|
||||
Clean Architecture + MVVM with three layers:
|
||||
|
||||
```
|
||||
Presentation (SwiftUI Views + ViewModels)
|
||||
↓
|
||||
Domain (Use Cases + Entities + Repository Protocols)
|
||||
↓
|
||||
Data (Repository Implementations + Data Sources)
|
||||
```
|
||||
|
||||
Key patterns:
|
||||
- Dependency Injection via `DIContainer`
|
||||
- Actor-based concurrency for thread safety
|
||||
- Core Data + CloudKit for persistence and sync
|
||||
|
||||
## Setup
|
||||
|
||||
1. Clone the repository
|
||||
2. Open `PlantGuide.xcodeproj` in Xcode
|
||||
3. Configure your API keys in `App/Configuration/APIKeys.swift`:
|
||||
- PlantNet API key (get one at [my.plantnet.org](https://my.plantnet.org))
|
||||
- Trefle API key (get one at [trefle.io](https://trefle.io))
|
||||
4. Set up CloudKit:
|
||||
- Enable iCloud capability in Signing & Capabilities
|
||||
- Create CloudKit container: `iCloud.com.yourteam.PlantGuide`
|
||||
5. Build and run
|
||||
|
||||
## ML Model
|
||||
|
||||
Uses PlantNet-300K ResNet50 for on-device plant classification:
|
||||
- Input: 224x224 RGB image
|
||||
- Output: 1,081 plant species probabilities
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user