# 📄 Heval Light – Requirements Document ## 1. Überblick **Heval Light** ist eine persönliche Assistenten-App für iOS und Android, die Nutzern hilft, ihren Alltag zu organisieren. Die App bietet **Kalender- und Erinnerungsfunktionen**, erkennt **Wohn- und Arbeitsorte**, und soll langfristig durch **Sprachsteuerung und KI-Integration** zu einem intelligenten Begleiter werden. --- ## 2. Zielgruppe - **Studierende** → Verwaltung von Uni-Terminen, Vorlesungen, Deadlines - **Arbeitnehmer:innen** → Meetings, Arbeitswege, Standortinformationen - **Privatpersonen** → Erinnerungen, Einkaufslisten, persönliche Termine --- ## 3. Ziele der App - Einen **zentralen Assistenten** für Termine, Erinnerungen & Standortinfos bieten - Daten **lokal & sicher** speichern (kein Zwang zu Cloud-Diensten) - Einfacher Login & **biometrische Authentifizierung** - Integration von **Standort, Spracheingabe & KI-Unterstützung** --- ## 4. Benutzerrollen 1. **Registrierter Nutzer** - Kann ein Profil erstellen (Name, E-Mail, Wohnort, Arbeitsplatz/Schule/Uni) - Kann Kalender & Erinnerungen verwalten - Kann optional **Sprachbefehle** nutzen - Kann Face ID / Touch ID für Login verwenden 2. **Später: KI-Assistent / Hintergrundlogik** - Erkennt wiederkehrende Muster (z. B. Standort, Termine) - Schlägt automatische Aktionen vor --- ## 5. Muss-Features (Minimum Viable Product) - ✅ **Registrierung & Login** - Vorname, Nachname, E-Mail, Passwort - Speicherung in **SQLite** - Biometrische Authentifizierung (Face ID/Touch ID) - ✅ **Kalender & Erinnerungen** - Zugriff auf **iOS Kalender/Erinnerungen** - Manuelles Hinzufügen von Terminen in SQLite - Anzeige in einer FlatList - ✅ **Benutzer-Session** - Speicherung via **AsyncStorage** --- ## 6. Soll-/Kann-Features (geplante Erweiterungen) - **GPS-Integration (expo-location)** - Automatische Erkennung von Wohnort & Arbeitsplatz - Reverse Geocoding → Adresse automatisch eintragen - **Sprachsteuerung (react-native-voice)** - Termine & Erinnerungen per Sprache hinzufügen - Sprachausgabe für wichtige Benachrichtigungen - **Push-Notifications** - Erinnerungen & Kalenderbenachrichtigungen - **AI-Integration (OpenAI API)** - Chatbot für Terminorganisation & Erinnerungen - Intelligente Vorschläge (z. B. „Soll ich dich morgen an den Termin erinnern?“) - **Mehrsprachigkeit (Deutsch/Englisch)** --- ## 7. Use Cases ### UC1: Registrierung mit Standort 1. Nutzer öffnet die App und wählt _Registrieren_ 2. Gibt Name, E-Mail, Passwort ein 3. Optional → Klickt auf **„Aktuellen Standort übernehmen“** → App füllt Wohnort automatisch 4. Optional → Gibt Arbeitsplatz/Uni/Schule ein 5. Daten werden in SQLite gespeichert ### UC2: Termin/Erinnerung hinzufügen 1. Nutzer öffnet den Kalender 2. Klickt auf „+“ → Modal öffnet sich 3. Trägt Titel, Start-/Endzeit ein → Speichern in SQLite 4. Termin wird in Liste angezeigt ### UC3: Termin per Spracheingabe 1. Nutzer klickt auf Mikrofon-Icon 2. Spricht „Meeting mit Max am Freitag 15 Uhr“ 3. App erkennt Text & speichert automatisch als neuen Termin ### UC4: Login mit Face ID 1. Nutzer öffnet die App 2. App fragt automatisch Face ID/Touch ID an 3. Nach erfolgreicher Authentifizierung wird der Nutzer direkt eingeloggt --- ## 8. Technische Anforderungen - **Framework:** React Native + Expo (Managed Workflow) - **Datenbank:** SQLite (lokal) - **Geräte-Features:** - Face ID / Touch ID → `expo-local-authentication` - Kalenderzugriff → `expo-calendar` - Standort → `expo-location` - Spracheingabe → `react-native-voice` - **Speicher:** AsyncStorage für Sessions - **Geplant:** KI-Integration über OpenAI API --- ## 9. Sicherheits- und Datenschutzaspekte - Alle Daten bleiben **lokal auf dem Gerät** - Keine Cloud-Verbindung notwendig - Geplant: Verschlüsselte Speicherung für sensible Daten (SecureStore) --- ## 10. Erfolgskriterien - Nutzer kann ohne Internet registrieren & anmelden - Termine & Erinnerungen lassen sich manuell hinzufügen - Standort kann automatisch erfasst werden - Biometrische Anmeldung funktioniert zuverlässig - Später: Spracheingabe & KI-Assistent integrierbar ---