Skip to Content
EntwicklungArchitektur

Architektur

Überblick

Der Ressourcenplaner ist eine Full-Stack Next.js-Anwendung mit klarer Trennung zwischen Web-App und REST-API.

Browser → Next.js App Router → API Client → REST API → Prisma → PostgreSQL Externe Systeme ───┘ (API-Key Auth)

Designentscheidungen

Interner API-Client

Die Web-App greift über einen internen HTTP-Client (src/lib/api-client.ts) auf die REST-API zu, statt direkt auf die Datenbank. Das ermöglicht eine spätere Trennung von Frontend und Backend.

Server Actions

Schreibende Operationen (Erstellen, Bearbeiten, Löschen) werden als Server Actions in src/app/(app)/actions.ts implementiert. Diese rufen ebenfalls den API-Client auf.

Authentifizierung

Zwei Authentifizierungspfade:

  • Web-App: Session-Cookie via NextAuth
  • Externe API: API-Key als Bearer-Token

Die API-Route-Handler prüfen beides über validateApiAccess().

Tech Stack

  • Next.js 16 mit App Router und Turbopack
  • Prisma 7 mit PostgreSQL via Driver Adapter (@prisma/adapter-pg)
  • NextAuth v5 mit generischem OIDC-Provider
  • Tailwind CSS 4 mit PostCSS
  • TypeScript durchgehend
Last updated on