- Create DesignSystem with ColorTokens, AppearanceManager, spacing, and typography
- Add appearance picker in Settings (System/Light/Dark modes)
- Replace hardcoded colors with design tokens in MainTabView and Enums+UI
- Inject AppearanceManager via environment in PlantGuideApp
- Add FEATURE_ROADMAP.md documenting 8 planned features
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds competitive analysis document comparing PlantGuide against major
plant identification apps (PlantIn, PictureThis, Planta, etc.) and
CLAUDE.md to help future Claude Code instances navigate the codebase.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix Core Data transformer conflict causing cache decode failures
- Changed PlantCareInfoMO attributes from Transformable to Binary type
- Removed valueTransformerName references that conflicted with manual JSON encoding
- Fix cache key mismatch causing cache misses
- Normalize scientificName to lookup name when saving to cache
- Remove cache expiration (cache now persistent until plant deleted)
- Removed cacheExpiration property and isCacheStale check
- Added forceRefresh parameter to FetchPlantCareUseCase for manual refresh
- Add cache cleanup when deleting plants
- Added PlantCareInfoRepositoryProtocol dependency to DeletePlantUseCase
- Clean up cached care info when plant is deleted
- Add extensive debug logging to PlantNetAPIService
- Log request/response details, status codes, and decoding errors
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Implement camera capture and plant identification workflow
- Add Core Data persistence for plants, care schedules, and cached API data
- Create collection view with grid/list layouts and filtering
- Build plant detail views with care information display
- Integrate Trefle botanical API for plant care data
- Add local image storage for captured plant photos
- Implement dependency injection container for testability
- Include accessibility support throughout the app
Bug fixes in this commit:
- Fix Trefle API decoding by removing duplicate CodingKeys
- Fix LocalCachedImage to load from correct PlantImages directory
- Set dateAdded when saving plants for proper collection sorting
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>