docs: README.md and docs
This commit is contained in:
140
docs/requirements.md
Normal file
140
docs/requirements.md
Normal 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
|
||||
|
||||
---
|
||||
23
docs/sequence-registration.md
Normal file
23
docs/sequence-registration.md
Normal 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
53
docs/usecase-diagram.md
Normal 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
|
||||
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user