Zum Inhalt springen

Frontend

  • React 19 + TanStack Start (SSR via Nitro)
  • TanStack Router (File-based Routing)
  • TanStack Query (React Query)
  • Mantine 8 (Component Library)
  • Tailwind CSS 4
  • React Hook Form + Zod
  • i18next (Deutsch als primaere Sprache)
Browser → Cloudflare → TanStack Start (SSR) → Go Backend

Browser kommuniziert NIE direkt mit dem Go-Backend. Alle API-Calls laufen serverseitig ueber TanStack Start Server Functions.

Cloudflare-HeaderX-Header ans BackendInhalt
Cf-Connecting-IpX-Client-IpEchte Client-IP
Cf-IpcountryX-Client-Ip-CountryLaendercode
Cf-RayX-Client-Ray-IdTrace-ID
Browser User-AgentX-User-AgentBrowser UA

Server Functions leiten Set-Cookie Headers vom Backend an den Browser weiter und lesen Browser-Cookies fuer Backend-Requests.

RouteBeschreibung
/_auth/loginLogin-Formular
/_auth/verify-2fa2FA-Code Eingabe
/_auth/reset-passwordPassword-Reset (oeffentlich)
/_app/Dashboard (Shell)
/_app/account/profileProfil bearbeiten
/_app/account/passwordPasswort aendern
/_app/account/sessionsSessions verwalten
/_app/teamTeam-Verwaltung
/_app/team/createAccount anlegen
  • login() — POST /api/public/auth/login
  • verify2fa() — POST /api/public/auth/verify-2fa
  • getSession() — GET /api/public/auth/session
  • logout() — POST /api/protected/auth/logout
  • loginRequestSchema — email + password
  • loginResponseSchema — session_id oder attempt_id + two_fa_required
  • verify2faRequestSchema — attempt_id + code
  • sessionResponseSchema — account_id, display_name, role, tenant_id