The SaaS Starter

Baue dein SaaS.
Ohne Boilerplate.

Auth, Organisationen, RBAC, Datei-Uploads, E-Mails und i18n — produktionsreif ab Tag eins. Gebaut auf Nuxt 4, Drizzle ORM und PostgreSQL.

$ npx nuxi init -t gh:domsen123/nuxt-drizzle

Node 22+ · pnpm · PostgreSQL

7

Feature Slices

2

Auth-Methoden

2

Sprachen

100%

TypeScript

01

Authentifizierung  →

Session-basierte Auth mit httpOnly-Cookies. Microsoft Entra ID OAuth, anonyme Sessions, E-Mail-Verifizierung und sichere Passwort-Reset-Flows inklusive.

● session active
user: hey@example.com
provider: Microsoft Entra ID
expires: 7d · httpOnly cookie
○ anonymous session
converted on sign-up
02

Mandantenfähigkeit  →

Organisationen mit Mitgliederverwaltung und Einladungsflows. Feingranulares RBAC für jede Berechtigungsstruktur.

acme-corp owner 4 members
big-startup admin 2 members
my-project member 1 member
Roles: owner · admin · member
RBAC: resources × actions
03

Dateiverwaltung  →

Gemeinsame Upload-Pipeline mit Entity-Type-Unterstützung. Avatar-Handling, storage-agnostischer Datei-Service und Bildoptimierung via Nuxt Image.

PUT /api/files/upload
entityType: "user"
entityId: "usr_123"
avatar.jpg → optimised · CDN
report.pdf → stored · linked
04

Admin-Panel  →

Vollständiges Admin-Dashboard mit Benutzerverwaltung, Rollenzuweisung und Benutzerimitierung zur Fehlersuche in der Produktion.

domsen123 global_admin active
jane.doe member active
bob.smith member banned
→ impersonate user
→ assign roles
→ manage organisations
05

Internationalisierung  →

Englisch und Deutsch sofort verfügbar. Lokalisierte Datumsformate, sichere String-Interpolation und Sprachpräferenz in der Datenbank gespeichert.

t('nav.settings')
→ "Settings" (en)
→ "Einstellungen" (de)
useLocaleFormat().formatDate(d)
→ "Oct 15, 2026" (en)
→ "15.10.2026" (de)
06

Typsichere Datenbank  →

Drizzle ORM auf PostgreSQL. Vertical-Slice-Schemas, automatische Migrationen und ein generischer ItemService mit Filter, Sortierung und Paginierung.

users.readMany({
filter: {
role: { _eq: 'admin' },
},
sort: 'createdAt:desc',
limit: 10,
})
07

E-Mail-System  →

Liquid-templatierte transaktionale E-Mails. Sprachspezifische HTML- und Plaintext-Varianten mit automatischem Sprach-Fallback.

welcome.html.liquid (en)
welcome.de.html.liquid (de)
reset-password.html.liquid
reset-password.de.html.liquid
→ fallback to en if de missing

Heute noch
loslegen.