Allgemeine Fragen zu HydroHero
Warum gibt es HydroHero?
Weil ich ursprünglich einfach die Wettkampfzeiten meines Sohnes festhalten wollte. Ich habe HydroHero zunächst nur für ihn, meine Frau und mich entwickelt – eine kleine App, ganz ohne Schnickschnack, die genau das tat, was wir brauchten: Schwimmleistungen speichern und Fortschritte nachvollziehen.
Doch beim Entwickeln habe ich gemerkt, dass sich daraus viel mehr machen lässt. Nach und nach kamen Analysen, Statistiken und Community-Funktionen hinzu. Heute ist HydroHero ein kleines Paket für Schwimmerinnen und Schwimmer, die ihre Leistungen im Blick behalten möchten – egal ob im Training, im Wettkampf oder einfach nur für sich selbst.
Und auch wenn HydroHero als privates Nebenprojekt gestartet ist, freue ich mich, wenn es anderen ebenso hilft, motiviert zu bleiben und Spaß an ihren Fortschritten zu haben.
Ist HydroHero kostenlos?
Ja! Die Nutzung der App ist kostenlos, sowohl in der Cloud-Variante als auch beim Selbst-Hosting. Es gibt keine versteckten Kosten oder Paywalls.
Was ist der Unterschied zwischen HydroHero Selbst-gehostet und HydroHero Cloud?
HydroHero Cloud ist die von mir betriebene, sofort nutzbare Variante. Du musst nichts installieren, sondern kannst dich einfach registrieren und direkt loslegen. Updates, Wartung und neue Features bekommst du automatisch – dafür liegen deine Daten aber auf meinem, privaten Server und es gibt keine Garantie für Verfügbarkeit oder Dauerbetrieb. Besuche die Status Page wenn du wissen möchtest ob alle Server aktuell erreichbar sind.
HydroHero Selbst-gehostet bedeutet, dass du die App über GitHub selbst auf deinem Server, PC oder in einer Vereinsumgebung installierst. Du hast die volle Kontrolle über Daten, Verfügbarkeit und Anpassungen – aber auch die Verantwortung für Einrichtung, Wartung und Updates. Neben meinem Quellcode benötigst du noch eine Domain und ein Zertifikat.
Kann mein Verein HydroHero nutzen?
Absolut! Dein Verein kann entweder die Cloud-Version nutzen oder eine eigene Instanz hosten, sodass alle Mitglieder ihre Daten zentral eintragen können.
Gib es eine Anleitung oder Dokumentation?
Ja! Neben dem öffentlichen Quellcode, gibt zu HydroHero:
- eine technische Dokumentation (auf englisch)
- eine API Dokumentation (auf englisch)
- eine Benutzer Anleitung (auf englisch) und
- eine Benutzer Anleitung (auf deutsch)
Du findest alle, als .pdf Datei, im Ordner Documentation, auf Github.
Wie werden meine Schwimmzeiten in HydroHero berechnet?
HydroHero rechnet alle eingetragenen Zeiten zunächst auf Sekunden pro Meter herunter. Dadurch sind die Werte einheitlich und fair vergleichbar – unabhängig davon, ob du z. B. 50 m, 100 m oder 400 m geschwommen bist.
Auf dieser Basis zeigt dir die App dann verschiedene Ansichten an, zum Beispiel Sekunden pro 25 m, Sekunden pro 50 m oder andere Einheiten. So kannst du deine Leistungen sehr genau vergleichen – sowohl über verschiedene Distanzen hinweg als auch im zeitlichen Verlauf.
Das Prinzip:
- Gesamtzeit → in Sekunden umgerechnet
- Sekunden ÷ geschwommene Distanz = Normalisierte Zeit pro Meter
- Darstellung dann in praktischen Einheiten (z. B. s/25 m)
Kurz gesagt: HydroHero sorgt mit dieser Normalisierung dafür, dass deine Analysen und Vergleiche mathematisch sauber und nachvollziehbar sind.
Welche Analysen bietet HydroHero?
HydroHero analysiert deine Leistungen aus vielen Perspektiven, damit du deine Fortschritte klar sehen kannst. Die einzelnen Analysen werden stetig weiter entwickelt und ändern sich. Hier, aber ein aktueller Auszug:
Community-Vergleich – Vergleiche deine Leistungen mit anderen (nur wenn diese ihre Profile öffentlich freigegeben haben).
Rennen & Podiumsplätze – Überblick, wie viele Wettkämpfe du absolviert hast und wie oft du auf dem Treppchen standest. Inklsuive prozentualer Berechnung der Erfolgsquote.
Gesamtdistanz – Wie viele Kilometer du insgesamt im Training und Wettkampf geschwommen bist.
Verbesserungen im Zeitverlauf – Sieh genau, wie sich deine Zeiten über Wochen, Monate oder Saisons entwickeln.
Durchschnitt pro 25m – Einheitliche Vergleichsgröße, unabhängig von der Distanz, pro Schwimstil.
Performance-Timeline – Chronologischer Verlauf deiner Schwimmleistungen, filterbar nach Schwimstil.
Stilverteilung – Welche Schwimmstile du am häufigsten trainierst oder schwimmst.
Saison-Bestzeiten vs. persönliche Bestzeiten – Vergleich deiner aktuellen Saison mit deiner All-Time-Bestleistung.
Platzierungen im Verlauf – Wie sich deine Platzierungen über mehrere Wettkämpfe entwickeln.
Trainings- vs. Wettkampfvolumen – Vergleiche, wie viel Zeit du im Training vs. in Wettkämpfen schwimmst.
Wiederholte Distanzen – Fortschritte bei immer gleichen Strecken.
Kumulative Entwicklung – Wie deine geschwommene Gesamtdistanz über die Zeit wächst.
Letzte vs. aktuelle Leistung – Direktvergleich zwischen deinem letzten Ergebnis und dem aktuellen.
Lieblingsschwimmstil – Welcher Stil dominiert in deinem Training.
Aktivitätsrate – Wie regelmäßig du trainierst oder antrittst.
Erfolgsquote – Anteil erfolgreicher Wettkämpfe (z. B. Podiumsplätze).
Wird es HydroHero für immer geben?
HydroHero ist ein privates Spaß-Projekt, das ich ursprünglich für meine Familie entwickelt habe. Ich freue mich sehr, wenn auch andere Schwimmer:innen es nutzen – denn je mehr Leute aktiv sind, desto geringer ist die Wahrscheinlichkeit, dass ich das Projekt irgendwann abschalte.
Trotzdem kann ich nichts garantieren: Es kann immer mal zu einem Ausfall kommen oder dazu, dass ich die öffentlich gehostete Instanz nicht mehr dauerhaft betreibe. Wer auf Nummer sicher gehen will, kann HydroHero aber jederzeit selbst hosten – der Quellcode ist frei verfügbar. Besuche die Status Page wenn du wissen möchtest ob alle Server aktuell erreichbar sind.
Kommen noch neue Features dazu?
Ja! HydroHero wird aktiv weiterentwickelt und regelmäßig um neue Funktionen erweitert. Mein Ziel ist es, die App immer nützlicher zu machen und Schwimmer:innen dabei zu helfen, ihre Leistungen noch besser im Blick zu behalten. Geplante Features sind zum Beispiel das anbinden von Externe Schnittstellen. Zum Beispiel die Garmin API, um Trainingsdaten automatisiert abzurufen und in HydroHero einzutragen.
Wenn du Ideen oder Wünsche hast, freue ich mich immer über Feedback. Du kannst gerne selbst Features programmieren und Pull Requests über das GitHub-Repository einreichen. Wer nicht programmieren kann, aber eine Funktion wünscht, kann mir einfach direkt schreiben – ich sammle alle Vorschläge und prüfe, welche umsetzbar sind.
Nichts desto trotz betreibe ich HydroHero als privates Projekt neben meinem normalen Job und Familienleben. Das bedeutet, dass Entwicklungen und Updates in meiner Freizeit stattfinden, aber ich gebe mein Bestes, die App kontinuierlich zu verbessern.
Datenschutz und Sicherheit
Wie sicher sind meine Daten bei HydroHero?
Absolute Sicherheit kann niemand garantieren. Ich tue jedoch alles, um deine Daten zu schützen: Passwörter und API-Keys werden gehasht und gesalzen gespeichert (PBKDF2-HMAC-SHA256 mit 100.000 Iterationen), Multi-Faktor-Authentifizierung ist implementiert und sollte von dir genutzt werden, ich setze Login-Decorators, CSRF-Schutz, Input-Validation, Security Headers, API Rate Limits, geo blocking durch einen Reverse Proxy, sowie intrusion prevention Software ein. Nichts desto trotz empfehle ich, keine sensiblen Daten außerhalb von HydroHero zu speichern und bewusst zu entscheiden, welche Daten du öffentlich machst!
Welche Daten speichert HydroHero?
HydroHero speichert nur die absolut notwendigen Informationen: deine Account-Daten (Benutzername, E-Mail, vollständiger Name, Geburtsdatum und gehashtes Passwort), Schwimmzeiten und Trainingseinträge mit automatisch berechneten Statistiken, erreichte Abzeichen, optional ein Profilbild sowie Sicherheitsdaten wie MFA-Einstellungen und API-Schlüssel. Bei Team-Funktionen werden zusätzlich Team-Zugehörigkeiten und Trainer-Zuweisungen gespeichert. Technische Daten beschränken sich auf Account-Erstellungsdatum, letzte Aktivität für Session-Management und temporäre Rate-Limiting-Daten. Es werden keine Tracking-, Werbe- oder Analysedaten von Drittanbietern gespeichert.
Wo werden meine Daten gespeichert?
Alle Daten der HydroHero Cloud werden auf Servern der Strato GmbH in Deutschland gehostet. Damit unterliegt die Speicherung den deutschen Datenschutzbestimmungen (DSGVO). Weitere Informationen findest du auch in den offiziellen Datenschutzrichtlinien von Strato.
Folgende Komponenten speichern oder verarbeiten Daten:
- Webserver: Der Server verarbeitet Anfragen von deinem Browser oder deiner App und leitet sie an das Backend weiter.
- Backend / Anwendung: HydroHero läuft auf einem Python-basierten Flask/Gunicorn-Server, der Logik, Authentifizierung und Berechnungen übernimmt.
- Datenbank: speichert dauerhaft Nutzerkonten, Trainings- und Wettkampfdaten, Statistiken sowie Community-Informationen.
- Zwischenspeicher / Cache: speichert temporäre Daten wie Sessions oder Caches, um die App schnell und performant zu machen.
Alles zusammen läuft auf Servern bei Strato, sodass sowohl Datenhaltung als auch Sicherheit nach deutschen Standards gewährleistet sind.
Datenschutz & Sicherheit:
- Keine Daten werden an Dritte weitergegeben.
- Alle persönlichen Daten bleiben innerhalb der HydroHero-Instanz, die du nutzt – egal ob Cloud oder selbst gehostet.
Muss ich meine Daten mit anderen teilen?
Nein. Deine Daten sind standardmäßig privat. Nur wenn du dein Profil explizit auf „öffentlich“ stellst, können andere deine Leistungen sehen. Ein „öffentliches“ Profil ist immer nur auf dem eigenen Server verfügbar. Hostest du HydroHero selbst, ist dein Profil, sofern du es auf „öffentlich“ stellst, nur für alle Benutzer auf deinem Server sichtbar.
Was ist Zwei-Faktor-Authentifizierung (MFA) und wie aktiviere ich sie?
MFA ist eine zusätzliche Sicherheitsebene für deinen Account. Du aktivierst sie in den Profileinstellungen unter „Sicherheit“. Du benötigst eine Authenticator-App wie Google Authenticator oder Authy, scannst den QR-Code und gibst einen Bestätigungscode ein.
Wie ändere ich mein Passwort?
In deinen Profileinstellungen unter „Sicherheit“ findest du den Button „Passwort ändern“. Du musst dein aktuelles Passwort eingeben und ein neues festlegen.
Wie lösche ich meinen Account vollständig?
Die Account-Löschung findest du in den Profileinstellungen ganz unten. Nach der Bestätigung werden alle deine Daten unwiderruflich gelöscht – Wettkämpfe, Abzeichen, Profilbild, alles.
Was sind API-Schlüssel und wozu brauche ich sie?
API-Schlüssel ermöglichen es dir, programmatisch auf deine HydroHero-Daten zuzugreifen. Du kannst sie in deinem Profil generieren und damit eigene Auswertungen erstellen oder Daten in andere Tools exportieren.
HydroHero Nutzung
Gibt es HydroHero auch als App?
Jain, HydroHero ist eine Progressive Web App (PWA). Das bedeutet: Du kannst die Anwendung wie eine native App auf deinem Smartphone installieren – ganz ohne App Store.
- Auf iOS (iPhone/iPad):
- Öffne HydroHero in Safari (https://app.hydrohero.cloud)
- Tippe unten auf das „Teilen“-Symbol (Quadrat mit Pfeil).
- Wähle „Zum Home-Bildschirm hinzufügen“.
- Fertig – HydroHero erscheint nun wie eine normale App auf deinem Homescreen.
- Auf Android:
- Öffne HydroHero in Chrome (https://app.hydrohero.cloud)
- Tippe oben rechts auf die drei Punkte.
- Wähle „App installieren“ oder „Zum Startbildschirm hinzufügen“.
- Fertig – HydroHero startet dann wie eine native App.
Einmal hinzugefügt, kannst du HydroHero direkt über dein App-Icon starten.
Sofern du HydroHero selbst hostest, ist obige URL die entsprechende URL deines Servers.
Kann ich HydroHero auch am PC nutzen?
Ja! HydroHero läuft in jedem modernen Browser – egal ob auf Windows, macOS oder Linux. Du kannst die App also genauso gut am großen Bildschirm nutzen, wie auf dem Smartphone. Deine Daten sind überall synchron, solange du dich mit deinem Account einloggst. Die HydroHero URL, sofern du HydroHero Cloud nutzt, lautet: https://app.hydrohero.cloud
Wie teile ich mein Profil mit anderen Nutzern?
Öffne dein Profil und setze den Haken bei „Profil mit anderen teilen„
Wie füge ich ein Rennen oder Training hinzu?
Ein Rennen oder Training hinzuzufügen ist ganz einfach:
- Logge dich in HydroHero ein.
- Klicke, in der Navigation, auf „Rennen hinzufügen“
- Wähle aus ob es ein Training war oder nicht
(Markierst du ein Rennen als Training, fließt dies z.B. nicht in die Erfolgsquote mit ein) - Trage Distanz, Stil, Zeit ein.
- Speichern – fertig!
Dein Eintrag erscheint sofort in deinem Dashboard und fließt automatisch in alle Statistiken und Analysen ein.
Warum gibt es, in HydroHero, „Kraulen“ und „Freistil“?
Das ist tatsächlich nicht dasselbe, auch wenn viele denken, Freistil und Kraulen seien identisch. Dieser weit verbreitete Irrtum hat einen guten Grund: Bei allen großen Wettkämpfen schwimmen die Athleten in Freistil-Rennen ausschließlich Kraul.
Kraulen ist eine konkrete Schwimmtechnik mit definierter Arm- und Beinbewegung und die schnellste aller Schwimmarten. Freistil hingegen bedeutet, dass der Schwimmer seine Schwimmtechnik frei wählen darf – du könntest theoretisch auch Brust, Rücken oder Delfin schwimmen. Die einzige Regel bei Freistil ist, dass ein Körperteil die Wasseroberfläche durchbrechen muss, außer bei Start und Wende, wo 15 Meter Unterwasserschwimmen erlaubt sind.
Da Kraulen mit Abstand die schnellste Schwimmart ist, wählen alle Wettkämpfer bei Freistil-Rennen automatisch diese Technik. Niemand will freiwillig langsamer sein. Wenn du also Olympia schaust und ein „100m Freistil“-Rennen siehst, schwimmen alle Athleten Kraul – das führt zur Verwechslung der beiden Begriffe.
Die Bezeichnung „Freistil“ wurde bewusst beibehalten, um Inklusion zu ermöglichen. Bei allen anderen Schwimmarten wie Brust, Rücken oder Delfin führt jeder Technikfehler zur Disqualifikation. Freistil hingegen ermöglicht es Anfängern, Menschen mit Behinderungen oder Kindern, an Wettkämpfen teilzunehmen, auch wenn ihre Technik nicht perfekt ist. Diese Flexibilität ist besonders wichtig für die Teilhabe aller Schwimmer am Wettkampfsport.
In HydroHero bieten wir dir beide Optionen, damit du deine Zeiten präzise erfassen kannst. Wähle „Kraulen“, wenn du definitiv die Kraul-Technik geschwommen bist oder beim Training gezielt Kraul geübt hast. Wähle „Freistil“, wenn du an einem offiziellen Freistil-Wettkampf teilgenommen hast, in deinen Wettkampfunterlagen „Freistil“ steht oder du verschiedene Techniken während des Rennens kombiniert hast.
Der praktische Vorteil dieser Unterscheidung liegt in präziseren Statistiken: Wenn du Kraul und Freistil getrennt erfasst, kannst du deine reine Kraul-Technik isoliert analysieren, offizielle Wettkampfzeiten korrekt dokumentieren und bessere Vergleiche mit anderen Schwimmern ziehen. So siehst du beispielsweise, wie schnell du im reinen Kraul-Training bist im Vergleich zu deinen Freistil-Wettkampfzeiten.
Kurz gesagt: Freistil ist keine Technik, sondern bedeutet „freie Wahl“ – und die Wahl fällt fast immer auf Kraul, weil es am schnellsten ist.
Wie lade ich ein Profilbild hoch?
In deinem Profil klickst du auf das Avatar-Bild oder den Platzhalter. Wähle eine Bilddatei von deinem Gerät aus – HydroHero passt die Größe automatisch an und speichert es sicher.
Welche Bildformate werden für Profilbilder unterstützt?
Du kannst PNG, JPG, JPEG, GIF und WebP-Dateien hochladen. Die Dateigröße ist auf 5MB begrenzt, und HydroHero validiert automatisch, dass es sich um ein gültiges Bild handelt.
Wie mache ich mein Profil öffentlich sichtbar?
In deinen Profileinstellungen aktivierst du „Profil öffentlich teilen“. Dann können andere Nutzer dein Profil besuchen, deine Bestzeiten sehen und dich im Leaderboard finden.
Was sehen andere, wenn mein Profil öffentlich ist?
Andere sehen deinen Namen, deine Bestzeiten pro Schwimmstil, gesammelte Abzeichen, Gesamtstatistiken und deine Team-Zugehörigkeit. Private Informationen wie E-Mail oder Geburtsdatum bleiben verborgen.
Wie finde ich andere Schwimmer in der Community?
Auf dem Dashboard siehst du das Leaderboard mit den aktivsten Schwimmern. Du kannst auch öffentliche Profile durch Klick auf Namen in den Community-Vergleichen besuchen.
Was sind die Community-Vergleichscharts?
Diese Charts zeigen deine Leistungsentwicklung im Vergleich zu anderen Nutzern mit öffentlichen Profilen. Du siehst, wie du im Vergleich zu anderen in deinen Schwimmstilen abschneidest – deine Linie ist dabei hervorgehoben.
Trainer-Funktionen
Wie werde ich Trainer in HydroHero?
Wenn du HydroHero selbst hostest, kannst du die Trainer-Rolle im Admin Panel selbst verwalten und zuweisen.
Falls du HydroHero Cloud nutzt (meine öffentlich gehostete Variante), kontaktiere mich gerne per Mail oder über das Kontaktformular – ich weise dir die Trainer-Rolle zu, damit du Familienangehörige oder dein Vereinsteam verwalten kannst.
Kann ich als Trainer mehrere Schwimmer verwalten?
Ja, als Trainer kannst du beliebig viele Schwimmer in deinem Team verwalten. Du siehst alle ihre Leistungen im Trainer Panel und kannst deren Fortschritte zentral verfolgen.
Was ist der Unterschied zwischen Login-User und Team-User?
Login-User erhalten eine E-Mail-Einladung und können sich selbst anmelden und ihre Daten verwalten.
Team-User werden direkt erstellt und haben keinen eigenen Login – du als Trainer verwaltest alle ihre Daten und trägst Wettkämpfe für sie ein.
Wie erstelle ich neue Team-Mitglieder?
Im Trainer Panel findest du den Button „Benutzer erstellen“. Dort kannst du zwischen Login-User (mit E-Mail-Einladung) und Team-User (ohne eigenen Zugang) wählen und die Grunddaten eingeben.
Kann ich Wettkampfergebnisse für andere eintragen?
Ja, als Trainer kannst du für alle deine Team-Mitglieder Wettkampfergebnisse und Trainingszeiten eintragen. Das funktioniert genauso wie bei deinen eigenen Einträgen.
Welche Statistiken kann ich für mein Team und meine Schwimmer einsehen?
Das Trainer Panel zeigt dir Teamstatistiken wie Anzahl der Mitglieder, Gesamtwettkämpfe, Gesamtdistanz und eine Performance-Timeline aller Team-Mitglieder mit Filtermöglichkeiten.
Weiterhin hast du über das Trainer Panel Zugriff auf das Dashboard deiner Schwimmer. Mitglieder deines Teams sehen einen Hinweis in ihrem Profil, der sie darauf hinweist, dass auch der Trainer Zugriff auf die Daten hat.
Kann ich das Dashboard meiner Teammitglieder sehen, die in meinem Team sind?
Ja. Klicke dazu, auf dem Trainer Panel, in der Tabelle „Deine Team-Mitglieder“, auf den Button Dashboard anzeigen. Du siehst nun das Dashboard des Schwimmers. Dies funktioniert unabhängig des öffentliches Profils. Mitglieder deines Teams sehen einen Hinweis in ihrem Profil, der sie darauf hinweist, dass auch der Trainer Zugriff auf die Daten hat.
Können meine Team-Mitglieder ihre eigenen Daten sehen?
Login-User können sich selbst anmelden und ihre Daten einsehen. Team-User haben keinen eigenen Zugang – du zeigst ihnen ihre Leistungen über dein Trainer-Interface.
Fortgeschrittene HydroHero Nutzung
Wie kann ich meine Daten als csv Datei exportieren?
Du findest auf der Seite „Alle Rennen“ die Option einen .csv Export all deiner Rennen und Trainings durchzuführen. Die .csv wird dann heruntergeladen.
Alternativ stellt die HydroHero App aber auch eine REST API bereit. Hierüber kannst du jederzeit deine eigenen Daten als JSON abrufen und für eigene Auswertungen nutzen. Siehe dazu ‚Wie kann ich meine Daten per API abrufen?‘
Wie kann ich meine Daten per API abrufen?
Die HydroHero API ermöglicht es Benutzern, programmatisch auf ihre Schwimmdaten zuzugreifen. Alle API-Endpoints erfordern eine Authentifizierung über Bearer Token.
Authentifizierung
API-Schlüssel erstellen
- Melde dich in HydroHero an
- Gehe zu deinem Profil
- Scrolle zum Abschnitt „API-Schlüssel“
- Klicke auf „API-Schlüssel erstellen“
- Wichtig: Kopiere den Schlüssel sofort – er wird nur einmal angezeigt!
API-Schlüssel verwenden
Füge den API-Schlüssel in den Authorization Header ein:
Authorization: Bearer DEIN_API_SCHLÜSSEL_HIER
Endpoints
GET /api/datenabruf
Exportiert alle Schwimmrennen eines Benutzers als JSON.
Authentication: Bearer Token erforderlich
Response:
{
"user": {
"username": "max_schwimmer",
"full_name": "Max Schwimmer",
"email": "max@example.com"
},
"competitions": [
{
"id": 1,
"event_name": "Stadtmeisterschaft",
"event_date": "2024-03-15",
"stroke_type": "Freistil",
"distance": 100,
"time_minutes": 1,
"time_seconds": 23.45,
"total_seconds": 83.45,
"pool_length": 25,
"placement": 2,
"notes": "Persönliche Bestzeit!",
"is_training": false,
"created_at": "2024-03-15 14:30:00",
"normalized_time_per_meter": 0.8345
}
],
"total_competitions": 1,
"total_distance": 100,
"exported_at": "2024-03-20 10:15:30"
}
Response Fields:
user: Grundlegende Benutzerinformationencompetitions: Array aller Schwimmrennennormalized_time_per_meter: Zeit pro Meter (für Vergleiche über verschiedene Distanzen)is_training: Unterscheidung zwischen Training und Wettkampf
total_competitions: Gesamtanzahl der Rennentotal_distance: Gesamtdistanz in Meternexported_at: Zeitstempel des Exports
Beispiel-Requests
cURL
curl -X GET "https://app.hydrohero.cloud/api/datenabruf" \
-H "Authorization: Bearer DEIN_API_SCHLÜSSEL_HIER" \
-H "Content-Type: application/json"
Python
import requests
api_key = "DEIN_API_SCHLÜSSEL_HIER"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
response = requests.get("https://app.hydrohero.cloud/api/datenabruf", headers=headers)
data = response.json()
print(f"Benutzer: {data['user']['full_name']}")
print(f"Anzahl Rennen: {data['total_competitions']}")
print(f"Gesamtdistanz: {data['total_distance']}m")
JavaScript
const apiKey = 'DEIN_API_SCHLÜSSEL_HIER';
fetch('https://app.hydrohero.cloud/api/datenabruf', {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => {
console.log('Benutzer:', data.user.full_name);
console.log('Anzahl Rennen:', data.total_competitions);
console.log('Gesamtdistanz:', data.total_distance + 'm');
});
Fehlerbehandlung
401 Unauthorized
{
"error": "Missing or invalid authorization header"
}
Ursachen:
- Kein
AuthorizationHeader gesendet - Ungültiges Bearer Token Format
- API-Schlüssel existiert nicht oder wurde widerrufen
500 Internal Server Error
{
"error": "Internal server error"
}
Ursachen:
- Server-seitige Fehler
- Datenbankverbindungsprobleme
Sicherheitshinweise
- API-Schlüssel geheim halten: Teile deinen API-Schlüssel niemals öffentlich
- HTTPS verwenden: Immer HTTPS für API-Requests verwenden
- Schlüssel rotieren: Erstelle regelmäßig neue API-Schlüssel
- Widerruf: Widerrufe nicht mehr benötigte API-Schlüssel sofort
Welchen Rate Limits unterliegen die APIs?
Dies sind die, in HydroHero, genutzen Rate Limits. Sofern du HydroHero selber hostest, steht es dir natürlich frei diese anzupassen.
| Route | Limit | Zeitfenster | Zweck |
| API Routes | 1/sec | 1 Sekunde | API Schutz |
| Login | 5 Versuche | 15 Minuten | Brute Force Schutz |
| Register | 3 Accounts | 1 Stunde | Spam Schutz |
| Password Reset | 3 E-Mails | 1 Stunde | E-Mail Spam Schutz |
| Verification | 3 E-Mails | 1 Stunde | E-Mail Spam Schutz |
| API Key Gen | 3 Keys | 1 Stunde | API Missbrauch Schutz |
| File Upload | 10 Uploads | 1 Stunde | Upload Spam Schutz |
Fragen zum hosten eines eigenen HydroHero Servers
Ist das Selbst-Hosting kostenlos?
Ja, HydroHero ist Open Source. Das bedeutet: Du darfst es frei installieren und betreiben. Die einzigen Kosten, die anfallen, sind deine eigenen Hosting-Gebühren (z. B. für Server oder Cloud-Infrastruktur).
Welche Voraussetzungen brauche ich, um HydroHero selbst zu hosten?
Du brauchst einen Server oder Rechner mit einer aktuellen Linux- oder Windows-Umgebung, Docker oder Python (je nach Installationsart) und eine Datenbank (z. B. PostgreSQL). Außerdem etwas technisches Grundwissen, um Setup, Updates und Backups selbst durchzuführen und im besten Fall eine entsprechende Domain und ein Zertifikat.
Wie installiere ich HydroHero selbst?
Die einfachste Möglichkeit ist über Docker. Dazu findest du im GitHub-Repository eine Schritt-für-Schritt-Anleitung. Alternativ kannst du HydroHero auch direkt mit Python installieren und starten.
Wie funktioniert HydroHero technisch?
HydroHero kombiniert Python-Backend, PostgreSQL-Datenbank, Redis-Caching und eine moderne PWA in einem Docker-basierten Setup, um eine schnelle, sichere und skalierbare Anwendung bereitzustellen – egal ob selbst gehostet oder über die Cloud-Variante
Backend:
- Die App ist in Python geschrieben und nutzt das Flask-Framework für die Weblogik.
- Für den produktiven Betrieb läuft Flask über Gunicorn, einen WSGI-Server, der mehrere Worker-Prozesse parallel starten kann und so auch bei hoher Last zuverlässig Anfragen verarbeitet.
- Alle serverseitigen Funktionen, von User-Management über Trainings- und Wettkampferfassung bis zu den Analysen, laufen in diesem Backend.
Datenbank & Caching:
- PostgreSQL speichert alle persistente Daten: Nutzer, Trainings, Wettkampfdaten, Statistiken und Community-Informationen.
- Redis wird als In-Memory-Cache eingesetzt: Hier werden z. B. Session-Daten, temporäre Abfragen und Rate-Limiting-Informationen zwischengespeichert. Das sorgt für Geschwindigkeit und verhindert, dass die Datenbank bei jedem Request belastet wird.
Frontend:
- Das Frontend ist eine Progressive Web App (PWA). Das heißt, die App läuft direkt im Browser, kann aber wie eine native App auf iOS und Android installiert werden.
- Alle Interaktionen (Dashboard, Statistiken, Leaderboards) werden über REST-API-Aufrufe mit dem Backend synchronisiert.
Containerisierung & Deployment:
- HydroHero läuft als Docker-Container, was die Bereitstellung und Skalierung extrem erleichtert.
- Typischer Aufbau: Ein Container für das Flask/Gunicorn-Backend, einer für PostgreSQL und optional einer für Redis. So bleibt alles sauber voneinander getrennt und portabel.
- Updates erfolgen über GitHub – entweder als Pull auf einer selbst gehosteten Instanz oder automatisch in der Cloud-Version.
Sicherheit & Stabilität:
- Passwörter und API-Tokens werden gehasht und gesalzen gespeichert.
- Schutzmechanismen wie CSRF-Schutz, Input-Validation, Security Headers und API-Rate-Limits sorgen dafür, dass die App robust gegen Angriffe ist.
- Worker-Prozesse von Gunicorn und Docker sorgen dafür, dass die App auch bei hoher Last stabil bleibt.
Wie bekomme ich Updates, wenn ich selbst hoste?
Updates erhältst du über GitHub. Mit einem einfachen ‚git pull‘ oder durch Aktualisieren des Docker-Containers kannst du jederzeit auf die neueste Version wechseln.
Kann ich meine Instanz anpassen?
Ja. Wenn du HydroHero selbst hostest, hast du volle Kontrolle. Du kannst Konfigurationen anpassen, eigene Styles hinzufügen oder Features erweitern.

