Physio Web-App – echte App statt Telegram-Bot
Unterstützt Physiotherapie-Patienten zwischen den Terminen. Die Web-App generiert individuelle Workouts, protokolliert Sessions und macht Therapeuten-Notizen über einen sicheren Login jederzeit abrufbar – mit n8n als vollständigem Backend.
Projekt auf einen Blick
Die Ausgangslage
Der Ausgangspunkt war ein einfacher Telegram-Bot für Sportübungen. Aber ein Bot hat Grenzen: keine übersichtliche Darstellung, keine strukturierten Protokolle, kein Admin-Bereich für den Therapeuten. Für eine Physiotherapiepraxis braucht es mehr.
n8n ist nicht nur ein Automatisierungstool – es kann das vollständige Backend einer Web-App sein.
Die Herausforderung
Die größte technische Hürde: Auf der eigenen n8n-Instanz ist require() blockiert – klassisches Bcrypt-Hashing für Passwörter war damit nicht möglich. Zusätzlich mussten Login, Workout-Generierung, Session-Protokoll und Admin-Funktionen komplett ohne klassischen Server-Code auskommen, nur über n8n-Webhooks.
Die Lösung
HMAC-SHA256 direkt über den n8n Crypto Node übernimmt das Passwort-Hashing sicher, ohne externe Library. n8n stellt außerdem JWT-Tokens aus und prüft sie bei jedem Request – die komplette Backend-Logik läuft über 7 Webhook-Workflows, das Frontend ist eine reine Vanilla-JS-SPA mit Login, persönlichem Workout-Plan, Fortschrittsprotokoll und einem Admin-Interface für den Physiotherapeuten.
Die Umsetzung
Was die App kann
Architektur: n8n als Backend
Das Besondere an diesem Projekt: Es gibt keinen klassischen Server-Backend-Code. n8n übernimmt die gesamte Backend-Logik über 7 Webhook-Workflows. Das Frontend ist eine Vanilla-JS-SPA auf Vercel, die ausschließlich mit diesen Webhooks kommuniziert.
Tech-Stack
| Frontend | Vanilla JS, Hash-Router, kein Framework |
| Hosting | Vercel (npx vercel --prod) |
| Backend | n8n Webhooks (7 Workflows) |
| Auth | JWT + HMAC-SHA256 (n8n Crypto Node) |
| Datenbank | Google Sheets (4 Tabs) |
| Dev-Tool | Claude Code |
Dieses Projekt zeigt was mit n8n möglich ist: Kein separater Node.js-Server, kein Express, kein Framework. Alle API-Routen sind n8n-Webhooks. Authentifizierung, Datenverarbeitung, CRUD – alles läuft in n8n. Das macht das Projekt extrem wartungsarm: Änderungen am Backend sind im n8n-Editor erledigt, kein Deployment nötig.
Ergebnis & Mehrwert
Kein separater Node.js-Server, kein Express, kein Framework – trotzdem eine vollständige App mit Login, individuellem Workout-Plan und Therapeuten-Notizen. Das macht das Projekt wartungsarm: Änderungen am Backend sind im n8n-Editor erledigt, ganz ohne Deployment.
Screenshots
Erkenntnisse
Eine Erkenntnis aus diesem Projekt: Bei GET-Webhooks kommt das JWT aus dem Authorization-Header, nicht aus dem Body – ein Unterschied, der am Anfang für einiges an Debugging gesorgt hat, bevor ich ihn richtig verstanden hatte.
Das Admin-Interface habe ich bewusst als komplett separate HTML-Datei mit eigenem Login-Flow umgesetzt, obwohl beide Seiten dieselbe n8n-Backend-Infrastruktur teilen – die strikte Trennung hat sich seitdem als der robustere Ansatz erwiesen.
Verwandte Projekte
Weitere automatisierte Workflows und Web-Apps gibt es in der Portfolio-Übersicht.
