docs: README.md and docs

This commit is contained in:
Ismail Ali
2025-07-15 22:51:37 +02:00
parent 007dedb09a
commit 209b712175
5 changed files with 680 additions and 156 deletions

140
docs/requirements.md Normal file
View File

@@ -0,0 +1,140 @@
# 📄 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
---

View File

@@ -0,0 +1,23 @@
# 📊 Heval Light Sequence Diagram: Registrierung mit Standort
```mermaid
sequenceDiagram
participant U as Benutzer
participant App as Heval Light App
participant GPS as GPS/Location API
participant DB as SQLite
U->>App: Öffnet Registrierungsformular
U->>App: Klickt "Aktuellen Standort übernehmen"
App->>GPS: Anfrage Standortberechtigung
GPS-->>App: Liefert Koordinaten & Adresse
App->>U: Zeigt automatisch erkannten Wohnort
U->>App: Gibt Name, E-Mail, Passwort, Arbeitsplatz ein
U->>App: Klickt "Registrieren"
App->>DB: Speichert Benutzer + Wohnort/Arbeitsort
DB-->>App: Bestätigung
App->>U: Zeigt "Registrierung erfolgreich"
```

53
docs/usecase-diagram.md Normal file
View File

@@ -0,0 +1,53 @@
# 📊 Heval Light Use Case Diagram
```mermaid
%%{init: {'theme': 'neutral'}}%%
flowchart LR
%% Akteure %%
user((👤 Benutzer))
%% Systemcontainer %%
subgraph System [Heval Light App]
direction TB
UC1([Registrieren mit Name, E-Mail, Passwort])
UC2([Wohnort automatisch per GPS übernehmen])
UC3([Arbeitsort/Schule/Uni eintragen])
UC4([Anmelden mit Face ID / Touch ID])
UC5([Kalender-Events aus iPhone lesen])
UC6([Neue Erinnerung/Termin speichern])
UC7([Erinnerung per Sprache hinzufügen])
UC8([Push-Notification senden])
UC9([Später: KI-Assistent nutzen])
end
%% Externe Systeme %%
gps[(📍 GPS / Location API)]
sqlite[(🗄 SQLite Datenbank)]
iosCal[(📅 iOS Calendar API)]
biometrics[(🔐 Face ID / Touch ID)]
voiceApi[(🎤 Speech-to-Text API)]
pushApi[(🔔 Push Notification Service)]
aiApi[(🤖 KI-API OpenAI)]
%% Beziehungen Benutzer -> Use Cases %%
user --> UC1
user --> UC2
user --> UC3
user --> UC4
user --> UC5
user --> UC6
user --> UC7
user --> UC8
user --> UC9
%% Beziehungen Use Cases -> Externe Systeme %%
UC2 --> gps
UC4 --> biometrics
UC5 --> iosCal
UC6 --> sqlite
UC7 --> voiceApi
UC8 --> pushApi
UC9 --> aiApi
```