**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.
...
...
@@ -46,6 +37,7 @@ Unser Anspruch war es, eine App zu zu entwickeln, die personalisiert arbeitet, Z
-**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
...
...
@@ -53,6 +45,7 @@ Unser Anspruch war es, eine App zu zu entwickeln, die personalisiert arbeitet, Z
- 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
...
...
@@ -61,10 +54,10 @@ Unser Anspruch war es, eine App zu zu entwickeln, die personalisiert arbeitet, Z
## 2. Team
# 2. Team
## 2.1 Teammitglieder
### 2.1 Teammitglieder
Unser Team besteht aus sechs Studierenden, die unterschiedliche Stärken in das Projekt eingebracht haben:
...
...
@@ -75,7 +68,8 @@ Unser Team besteht aus sechs Studierenden, die unterschiedliche Stärken in das
-**Süheyl Aslan (100703)** - suas4491@bht-berlin.de
-**Adham Khalil (952596)** - S93338@bht-mail.de
## 2.2 Rollen
### 2.2 Rollen
**Frontend**
- Selma Sagun
...
...
@@ -88,9 +82,11 @@ Unser Team besteht aus sechs Studierenden, die unterschiedliche Stärken in das
- Süheyl Aslan
# 3. Tech-Stack
## 3.1 Übersicht des Tech-Stacks
## 3. Tech-Stack
### 3.1 Übersicht des Tech-Stacks
**Frontend**
-**React Native** mit **Expo Go**
...
...
@@ -108,7 +104,8 @@ Unser Team besteht aus sechs Studierenden, die unterschiedliche Stärken in das
**Künstliche Intelligenz (KI)**
-**Claude API (Anthropic)**
## 3.2 Entwicklungsumgebungen
### 3.2 Entwicklungsumgebungen
-**IntelliJ IDEA**
Für das Backend
-**Visual Studio Code**
...
...
@@ -116,19 +113,22 @@ Unser Team besteht aus sechs Studierenden, die unterschiedliche Stärken in das
-**Swagger UI**
Dokumentation und testen der API-Endpunkte
## 3.3 APIs und externe Dienste
### 3.3 APIs und externe Dienste
-**Claude API (Anthropic)**
Zur Generierung der Trainings- und Ernährungspläne per KI
## 3.4 Datenbank
### 3.4 Datenbank
-**SQL**
Wurde zur stetigen Speicherung eingesetzt
# 4. Systemarchitektur & Datenmodell
## 4. Systemarchitektur & Datenmodell
## 4.1 Architektur der Anwendung
### 4.1 Architektur der Anwendung
Die Anwendung besteht aus drei Hauptkomponenten:
-**Frontend** – Mobile App zur Interaktion mit Nutzer:innen
...
...
@@ -137,7 +137,8 @@ Die Anwendung besteht aus drei Hauptkomponenten:
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
### 4.2 Backend Struktur
Das Backend wurde mit **Java** und **Spring Boot** entwickelt. Es bietet:
- REST-API-Endpunkte
...
...
@@ -147,7 +148,8 @@ 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
### 4.3 Frontend-Struktur
Das Frontend basiert auf **React Native mit Expo Go** und **JavaScript**. Hauptfunktionen sind:
- Nutzeranmeldung und Profilerstellung
...
...
@@ -156,14 +158,14 @@ Das Frontend basiert auf **React Native mit Expo Go** und **JavaScript**. Hauptf
- Gamification-Elemente (Ranglisten)
## 4.4 Datenmodell
### 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.
...
...
@@ -193,7 +195,8 @@ sequenceDiagram
Frontend-->>User: Zeigt neuen Trainingsplan an
```
## 4.6 Sequenzdiagramm: Ernährungsplan mit KI
### 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.
...
...
@@ -223,15 +226,19 @@ sequenceDiagram
Frontend-->>User: Zeigt neuen Ernährungsplan an
```
# 5. Benutzerdokumentation
## 5.2 Zielgruppen
## 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
### 5.2 Navigation und Hauptfunktionen der App
Die App ist in folgende Hauptbereiche unterteilt:
-**Startseite**: Übersicht und Einstieg
...
...
@@ -240,21 +247,21 @@ Die App ist in folgende Hauptbereiche unterteilt:
-**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.
### 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
## 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
### ✅ Prerequisites
To avoid compatibility issues, please use the following versions:
...
...
@@ -271,7 +278,7 @@ To avoid compatibility issues, please use the following versions:
---
## 🔁 Clone the Repository
### 🔁 Clone the Repository
Make sure Git is installed:
👉 [Download Git](https://git-scm.com/downloads)
...
...
@@ -392,7 +399,7 @@ This will launch the app at:
---
## 🧠 Notes & Conventions
### 🧠 Notes & Conventions
- Backend port: `8080`
- Frontend port: `5173`
...
...
@@ -416,7 +423,7 @@ npm test
## 💡 Suggestions
### 💡 Suggestions
To further improve the project setup:
...
...
@@ -427,7 +434,7 @@ To further improve the project setup:
---
## 🚀 Quick Setup Summary
### 🚀 Quick Setup Summary
```bash
# Clone the project
...
...
@@ -451,9 +458,11 @@ Feel free to fork, branch, and open merge requests!
We welcome all contributions.
# 7. Testing
## 7.1 Playtest
## 7. Testing
### 7.1 Playtest
Testplan
...
...
@@ -465,59 +474,72 @@ Schlussfolgerungen
Actions
## 7.2 Integrationstests
## 7.3 Testreport
### 7.2 Integrationstests
### 7.3 Testreport
## 7.4 CI/CD Pipeline idealerweise integriert
### 7.4 CI/CD Pipeline idealerweise integriert
# 8. Arbeitsprozess
## 8.1 Tools für die Zusammenarbeit
## 8. Arbeitsprozess
### 8.1 Tools für die Zusammenarbeit
-**GitLab**: Codeverwaltung, Versionskontrolle, Wiki (Dokumentation), Issues
## 8.2 Meetings
### 8.2 Meetings
- Teammetings über Discord
- On-Demand-Calls bei Fragen (ebenfalls über Discord)
## 8.3 Vorgehen
### 8.3 Vorgehen
- Aufgaben wurden entweder über GitLab Issues oder in Meetings verteilt
## 9. Reflexion
# 9. Reflexion
## 9.1 Was lief gut?
### 9.1 Was lief gut?
-
## 9.2 Besonderheiten & Herausforderungen
### 9.2 Besonderheiten & Herausforderungen
## 9.3 Persönliche Learnings
### 9.3 Persönliche Learnings
## 9.4 Rückblick & Verbesserungen
### 9.4 Rückblick & Verbesserungen
-
## 9.5 Was ich aus der Veranstaltung mitgenommen habe
### 9.5 Was ich aus der Veranstaltung mitgenommen habe
# 10. Ausblick & Future Work
## 10. Ausblick & Future Work
## 10.1 Offene Punkte
### 10.1 Offene Punkte
- Ernährungsplan
- KI Chatbot
## 10.2 Ideen für zukünftige Features
# 11. Quellen
### 10.2 Ideen für zukünftige Features
## 11. Quellen
- KI (ChatGPT, Gemini)
- YouTube Tutorials: Um neue Konzepte zu verstehen, Videos zu Thymeleaf, React Tutorials und Maven Intsallierung