Template
Frontend-Starter (Next.js 16 + React 19 + Tailwind 4)
Kleine, lauffähige Oberfläche für die Schulung. Sie ruft einen Webhook deines eigenen n8n-Workflows auf.
Auf einen Blick
- Was sie tut: Ein Formular schickt einen Namen an deinen Webhook und zeigt die Antwort.
- Wohin:
https://n8n.ep-reisen.app/webhook/<dein-pfad>, zum Beispielanna-hello. - Aussehen: E&P-Layout wie auf ep-reisen.de. Kopf mit Logo und Fuß kommen aus
app/layout.tsx, Schrift, Farben und Bausteine (ep-karte,ep-feld,ep-knopf…) ausapp/globals.css. Den Namen der Oberfläche setztlib/app.ts. - Veröffentlichen: Sag Claude „Veröffentliche meine Oberfläche“. Claude baut sie, pusht auf
mainund ruft den Hub auf. Du bekommst eine Adresse wiehttps://app-xxxxxxxx.friedemannschuetz.de. - Erster Aufbau: etwa drei Minuten. Bis dahin zeigt die Seite einen Fehler wie „no available server“. Das ist normal.
So hängt es zusammen
- In n8n baut Claude den Workflow aus
../examples/workflows/hello-webhook.json, mit deinem Kürzel im Pfad, zum Beispielanna-hello. - Beim ersten Veröffentlichen gibt Claude
NEXT_PUBLIC_HELLO_PATH=anna-helloals Variable mit. Ohne diesen Pfad ruft die Seite nichts auf. NEXT_PUBLIC_N8N_BASEist schon aufhttps://n8n.ep-reisen.appeingestellt.
Variablen gelten nur beim ersten Veröffentlichen. Später ändert sie nur Friedemann.
Der KI-Chat bleibt aus
/chat und app/api/chat/route.ts zeigen, wie ein KI-Chat mit Streaming aussieht. Der Endpoint hat keinen Login. Mit einem echten Schlüssel könnte jede Person, die die Adresse kennt, auf dessen Kosten chatten. Deshalb ist er aus (CHAT_ENABLED) und bleibt in der Schulung aus. KI läuft in n8n.
Struktur
app/page.tsx Formular, ruft den Webhook auf
app/chat/page.tsx KI-Chat (aus)
app/api/chat/route.ts Streaming-Endpoint (ohne Login, standardmäßig aus)
lib/n8n.ts Webhook-Helfer mit Standardadresse der n8n
lib/ai/model.ts Modell für den Chat
.env.local.example Liste der Variablen (nur Platzhalter)
Vor dem Veröffentlichen
npm install und npm run build müssen grün sein. Danach committen, auf main pushen und über den Hub veröffentlichen (/deploy mit base_dir=/frontend-starter). Den Ablauf kennt Claude aus CLAUDE.md.