**Go4Champion** ist eine App, die Menschen beim Erreichen ihrer Fitnessziele unterstützt, egal ob man Muskeln aufbauen, abnehmen oder einfach gesünder leben möchte. Die App erstellt automatisch Trainingspläne und Rezeptvorschläge, die genau auf die eigenen Ziele und Bedürfnisse abgestimmt sind.
Eine integrierte KI erstellt individuelle Trainingspläne und Rezeptvorschläge, unter Berücksichtigung von Allergien, Krankheiten und Vorlieben. Gamification-Elemente wie Punkte, Ranglisten und Challenges mit Freund:innen steigern die Motivation. Ein Newsfeed sorgt zusätzlich für Updates und Inspiration im Alltag.
## 1.1 Ziel & Motivation
Viele Fitness-Apps sind entweder zu allgemein, unübersichtlich oder verlieren nach kurzer Zeit ihren Reiz. Unser Ziel mit **Go4Champion** ist es, eine App zu schaffen, die Nutzer:innen langfristig motiviert, ihnen wirklich passende Trainings- und Ernährungspläne macht, und das auf eine einfache und verständliche Weise.
Unser Anspruch war es, eine App zu zu entwickeln, die personalisiert arbeitet, Ziele unterstützt, soziale Elemente integriert, langfristige Motivation bietet und einfach zu bedienen ist.
-**Rezepte**: individuell abgestimmt, inkl. Allergien und Vorlieben
-**Gamification**: Punkte, Ranglisten, Challenges
-**Zusatz des Newsfeeds**: Updates und Motivation durch andere
## 1.3 Was macht Go4Champion besonders?
- App passt sich individuell an jede Person an
- Kombination aus KI und Gamification
- Berücksichtigt gesundheitliche Einschränkungen und Vorlieben
- Gamification-Elemente erhöhen die Langzeitmotivation
- Nutzt die Claude API (von Anthropic) für die Erstellung personalisierter Trainingspläne und Vorschläge und für die Erstellung personalisierter Ernährungspläne
## 1.4 Zielgruppen
- Menschen, die gerne fitter werden wollen, aber nicht wissen, wie sie anfangen sollen
- Fortgeschrittene, mit konkreten Zielen
- Menschen mit Ernährungseinschränkungen
- Alle, die Spaß an Challenges und kleinen Erfolgen haben
# 2. Team
## 2.1 Teammitglieder
Unser Team besteht aus sechs Studierenden, die unterschiedliche Stärken in das Projekt eingebracht haben:
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:
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
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.
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
participant User
participant Frontend
participant Backend
participant DB as Datenbank
participant KI as KI (Claude API)
User->>Frontend: Klickt auf "Trainingsplan erstellen"
Frontend->>Backend: POST /api/trainingsplan-anfrage
Backend->>DB: Speichert Plan + Trainings + Zuordnung zum Nutzer
Backend-->>Frontend: Antwort mit neuem Plan
Frontend-->>User: Zeigt neuen Trainingsplan an
```
## 4.6 Sequenzdiagramm: Ernährungsplan mit KI
Im Gegensatz zum Trainingsplan geht es bei der Erstellung des Ernährungsplans vor allem um persönliche Vorlieben, Allergien oder Ernährungstypen. Nachdem die entsprechenden Nutzerdaten aus der Datenbank geladen wurden z. B. Alter, Gewicht, Zielgewicht und Ernährungseinschränkungen, generiert das System einen passenden Prompt für die KI. Die Claude API liefert daraufhin individuelle Rezeptvorschläge zurück. Diese Rezepte werden im System gespeichert, dem aktuellen Nutzerprofil zugeordnet und direkt in der App angezeigt.
```mermaid
sequenceDiagram
participant User
participant Frontend
participant Backend
participant DB as Datenbank
participant KI as KI (Claude API)
User->>Frontend: Klickt auf "Ernährungsplan erstellen"
Frontend->>Backend: POST /api/ernaehrungsplan-anfrage
Backend->>DB: Speichert Plan + Rezepte + Zuordnung zum Nutzer
Backend-->>Frontend: Antwort mit neuem Ernährungsplan
Frontend-->>User: Zeigt neuen Ernährungsplan an
```
# 5. Benutzerdokumentation
## 5.2 Zielgruppen
Wer nutzt die App und was können die User in der App machen?
Die App richtet sich an Personen, die ihre Fitness verbessern möchten. Es gibt aktuell nur eine Rolle und das ist der User. Nutzer:innen können Trainings- und Ernährungspläne generieren lassen, an Challenges teilnehmen und Punkte sammeln.
## 5.2 Navigation und Hauptfunktionen der App
Die App ist in folgende Hauptbereiche unterteilt:
-**Startseite**: Übersicht und Einstieg
-**Trainingsplan**: Generierte Workouts durch KI
-**Ernährungsplan**: Generierte Rezepte durch KI
-**Challenges**: Rangliste und Punkte
-**Profil**: Einstellungen
## 5.3 Hilfe & FAQ
Für allgemeine Fragen und Fragen zur Bedienung gibt es in der App einen eigenen FAQ-Bereich.
# 6. 📘 Developer Guide – Project Setup & Local Development
Welcome to this open-source project!
This guide explains how to set up and run the application locally. It ensures that all contributors use a consistent environment to streamline development and collaboration.
---
## ✅ Prerequisites
To avoid compatibility issues, please use the following versions: