Update home authored by diak6730's avatar diak6730
......@@ -78,20 +78,18 @@ Unser Team besteht aus sechs Studierenden der BHT, die unterschiedliche Stärken
### Frontend
- **React Native** mit **Expo Go**
- **JavaScript**
- **HTML** und **CSS**
### Backend
- **Java**
- **Spring Boot** als Framework
- **SQL** (davor noch H2)
- **SQL**
### REST API
- **Swagger API**
### Künstliche Intelligenz (KI)
- **Claude API (Anthropic)**
### Wetter-API
- Tomorrow.io
## 3.2 Entwicklungsumgebungen
- **IntelliJ IDEA**
......@@ -99,32 +97,58 @@ Unser Team besteht aus sechs Studierenden der BHT, die unterschiedliche Stärken
- **Visual Studio Code**
Für das Frontend
- **Swagger UI**
Dokumentation und visuelle API-Testoberfläche
Dokumentation und testen der API-Endpunkte
## 3.3 APIs und externe Dienste
- **Claude API (Anthropic)**
Zur Generierung der Trainings- und Ernährungspläne per KI
- **Tomorrow.io Wetter-API**
Für wetterbasierte Empfehlungen (z. B. Indoor vs. Outdoor Training)
## 3.4 Datenbank
- **SQL (JDBC)**
Wurde im späteren Projektverlauf zur persistenten Speicherung eingesetzt
- **SQL**
Wurde zur persistenten Speicherung eingesetzt
# 4. Systemarchitektur & Datenmodell
## 4.1 Architektur der Anwendung
Die Anwendung besteht aus drei Hauptkomponenten:
- **Frontend** – Mobile App zur Interaktion mit Nutzer:innen
- **Backend** – Logik, Datenverarbeitung, KI-Anbindung
- **Externe Dienste** – Claude API für KI
Alle Komponenten kommunizieren über eine REST API. Die Architektur ist modular aufgebaut, damit einzelne Teile unabhängig weiterentwickelt werden können.
## 4.2 Backend Struktur
Das Backend wurde mit **Java** und **Spring Boot** entwickelt. Es bietet:
- REST-API-Endpunkte
- Anbindung an die Claude API
- Zugriff auf SQL-Datenbank
- Datenverarbeitung (z.B. Trainingspläne, Nutzerdaten)
Swagger wurde verwendet, um die API-Endpunkte zu dokumentieren und zu testen.
## 4.3 Frontend-Struktur
Das Frontend basiert auf **React Native mit Expo Go** und **JavaScript**. Hauptfunktionen sind:
- Nutzeranmeldung und Profilerstellung
- Anfragen an das Backend (z.B. Trainings- und Ernährungsplan generieren)
- Darstellung von Trainings, Rezepten und Punkten
- Gamification-Elemente (Ranglisten)
## 4.4 Datenmodell
### Systemarchitektur & Datenmodell
**UML-Klassendiagramm**
Das folgende Diagramm stellt unser **Entity-Relationship-Modell (ER-Modell)** dar. Es bildet die Grundlage für die Datenbankstruktur. Die wichtigsten Entitäten wie 'User', 'Training', 'Friendships', 'Recipe' oder 'Challenges' sowie deren Beziehungen sind dargestellt.
Das folgende Klassendiagramm zeigt die wichtigsten Entitäten und ihre Beziehungen. Es bildet die Grundlage für die Datenbankstruktur und API-Logik.
![UML_Class_Diagramm](uploads/84e18287ddc62834f19df9d45eda0623/UML_Class_Diagramm.png)
**Sequenzdiagramm**
## 4.5 Sequenzdiagramm: Trainingsplan mit KI
Dieses Sequenzdiagramm zeigt, wie ein personalisierter Trainingsplan mithilfe der KI erstellt wird. Um das zu ermöglichen, werden Benutzerdaten wie Alter, Gewicht und Zielgewicht ausgelesen, zu einem Prompt verarbeitet und an die KI gesendet. Die generierten Übungen werden gespeichert und erscheinen anschließend direkt im Nutzerprofil.
Der folgende Ablauf zeigt, wie ein personalisierter Plan mithilfe der Claude API erstellt wird. Um das zu ermöglichen, werden Benutzerdaten wie Alter, Gewicht und Zielgewicht ausgelesen, zu einem Prompt verarbeitet und an die KI gesendet. Die generierten Übungen werden gespeichert und erscheinen anschließend direkt im Nutzerprofil.
```mermaid
sequenceDiagram
......@@ -152,6 +176,7 @@ sequenceDiagram
Frontend-->>User: Zeigt neuen Trainingsplan an
```
## 4.6 Sequenzdiagramm: Ernährungsplan mit KI
......
......