DailyWell ist eine SwiftUI-basierte iOS-App zur Begleitung und Reflexion des persönlichen Wohlbefindens mithilfe eines KI-gestützten Chats und Stimmungsanalysen.
- KI-gestützter Chat mit OpenRouter/OpenAI
- Tages- und Stimmungserinnerungen per Push-Benachrichtigung
- Stimmungsanalyse und Insights-Ansicht
- Sentiment Analysis der Chat-Nachrichten
- Zusammenfassung und Vorschlaggenerierung aus Chat-Verlauf
- Sprachmodus (Voice Mode) für sprachgesteuerte Eingaben
- Telemetrie-Tracking mit TelemetryDeck
- Sprachmodus (Voice Mode) mit Push-to-Talk, automatischem TTS und Systemsprache
- Kontextbasierte Prompt-Erweiterung aus Health, Wetter, Standort u. a.
- Wöchentliche Insight-Zusammenfassungen aus Chatverlauf
- Lokale und iCloud-basierte Profilspeicherung inkl. Pro-Modus Features
- Dynamische Modellwahl (OpenRouter-Modelle) und anpassbare Assistentenprofile
- Barrierefreiheit durch umfassende VoiceOver-Labels in allen Views
- Swift 5+
- SwiftUI
- TelemetryDeck
- OpenRouter API
- Xcode 15 oder neuer
- iOS 17 oder neuer (Deployment Target)
- API-Schlüssel für OpenRouter (OPENROUTER_API_KEY) in
Info.plist - TelemetryDeck App ID (TELEMETRYDECK_APP_ID) in
Info.plist
- Repository klonen:
git clone <repository-url>
- Xcode-Projekt öffnen über Xcode
- API-Schlüssel und TelemetryDeck-Konfiguration in
Info.plisthinterlegen.
- Config/Secrets.xcconfig: Umgebungsvariablen (API-Keys)
- Config/Localizable.xcstrings: Lokalisierte Texte
├── Assets.xcassets # App Icons & Bilder
├── Config # Konfiguration & Lokalisierung
├── Context # Kontext-Modelle & Provider
├── Helpers # Extensions & Hilfsfunktionen
├── Manager # Manager-Klassen (z.B. NotificationManager)
├── Models # Datenmodelle
├── Notifications # Benachrichtigungs-Scheduling
├── Services # Kern-Services (Chat, Telemetry, etc.)
├── Utils # Generische Utilities
├── ViewModels # MVVM ViewModels
├── Views # SwiftUI Views (Chat, Insights, Settings, ...)
├── DailyWellApp.swift # App-Einstiegspunkt
├── Info.plist # App-Metadaten
├── DailyWell.entitlements # App-Berechtigungen
└── Property List.plist # Zusätzliche Property-Listen
- DailyWellApp.swift: App-Einstiegspunkt mit Szenen-Setup
- Info.plist: Metadaten und Rechte der App
- DailyWell.entitlements: App-Berechtigungen
- Property List.plist: Zusätzliche Property-Listen
Die Git History des Projekts ist aufgrund von Problemen mit den Apple Developer Accounts leider nicht repräsentativ für die tatsächliche Entwicklungszeit. Die Arbeiten wurden zum Großteil an einem Rechner gemeinsam mit einem Apple Developer Account durchgeführt, da das Compilen nur so möglich war.
Detaillierte Informationen zu MVVM-Flows, Use Cases und Datenstrukturen finden Sie im WIKI.md.