Rebrand entire project from Feels to Reflect

Complete rename across all bundle IDs, App Groups, CloudKit containers,
StoreKit product IDs, data store filenames, URL schemes, logger subsystems,
Swift identifiers, user-facing strings (7 languages), file names, directory
names, Xcode project, schemes, assets, and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-02-26 11:47:16 -06:00
parent b1a54d2844
commit 0442eab1f8
380 changed files with 858 additions and 1077 deletions

View File

@@ -1,8 +1,8 @@
# Feels - iOS Mood Tracking App
# Reflect - iOS Mood Tracking App
## Overview
**Feels** is a daily mood tracking iOS application that allows users to rate their emotional state each day on a 5-point scale (Horrible, Bad, Average, Good, Great) and visualize patterns over time through multiple view modes.
**Reflect** is a daily mood tracking iOS application that allows users to rate their emotional state each day on a 5-point scale (Horrible, Bad, Average, Good, Great) and visualize patterns over time through multiple view modes.
## Core Features
@@ -24,7 +24,7 @@
### Project Structure
```
Feels/
Reflect/
├── Shared/ # Core app code
│ ├── Models/ # Data models (Mood, Theme, MoodTintable, etc.)
│ ├── Views/ # SwiftUI views organized by feature
@@ -36,7 +36,7 @@ Feels/
│ ├── Persisence/ # Core Data persistence layer
│ ├── Onboarding/ # First-run experience
│ └── Protocols/ # Protocol definitions
├── FeelsWidget/ # iOS Widget Extension (3 widget types)
├── ReflectWidget/ # iOS Widget Extension (3 widget types)
├── en.lproj/ # English localization
├── es.lproj/ # Spanish localization
└── Tests iOS/ # Test targets
@@ -49,12 +49,12 @@ Feels/
### App Entry
| File | Purpose |
|------|---------|
| `FeelsApp.swift` | Main app entry, Core Data setup, IAP manager, tab navigation |
| `ReflectApp.swift` | Main app entry, Core Data setup, IAP manager, tab navigation |
### Data Layer
| File | Purpose |
|------|---------|
| `Feels.xcdatamodeld` | Core Data model with `MoodEntry` entity |
| `Reflect.xcdatamodeld` | Core Data model with `MoodEntry` entity |
| `Persistence.swift` | Core Data stack, App Group container |
| `PersistenceGET.swift` | Fetch operations |
| `PersistenceADD.swift` | Create/fill missing entries |
@@ -132,12 +132,12 @@ enum Mood: Int {
## Widget System
Three widget types in `FeelsWidget/`:
1. **FeelsWidget**: Small/Medium/Large showing recent moods
2. **FeelsGraphicWidget**: Small widget with mood graphic
3. **FeelsIconWidget**: Custom icon widget
Three widget types in `ReflectWidget/`:
1. **ReflectWidget**: Small/Medium/Large showing recent moods
2. **ReflectGraphicWidget**: Small widget with mood graphic
3. **ReflectIconWidget**: Custom icon widget
Data shared via App Groups: `group.com.88oakapps.feels`
Data shared via App Groups: `group.com.88oakapps.reflect`
---
@@ -155,11 +155,11 @@ Data shared via App Groups: `group.com.88oakapps.feels`
## Configuration
### App Groups
- Production: `group.com.88oakapps.feels`
- Debug: `group.com.88oakapps.feels.debug`
- Production: `group.com.88oakapps.reflect`
- Debug: `group.com.88oakapps.reflect.debug`
### Background Tasks
- Identifier: `com.88oak.Feels.dbUpdateMissing`
- Identifier: `com.88oak.Reflect.dbUpdateMissing`
### StoreKit Products
- Monthly subscription