2026-04-24 20:23:03 +02:00
2026-04-24 20:23:03 +02:00
2026-04-24 18:43:42 +02:00
2026-04-24 20:13:01 +02:00
2026-04-24 18:43:42 +02:00
2026-04-24 18:43:42 +02:00
2026-04-24 18:43:42 +02:00
2026-04-24 18:43:42 +02:00

📄 Lebenslauf-App

Professioneller Lebenslauf-Builder mit Astro + SQLite. Keine externen Tools notwendig.

Features

  • 4 Templates Navy Klassik, Modern Timeline, Minimal Elegant, Bold Creative
  • OTP-Login E-Mail-basierter Einmal-Code, kein Passwort
  • Editor Live-Vorschau, Auto-Save alle 2 Sekunden
  • Skills Eingabe mit Niveauanzeige (15 Punkte)
  • Farben & Schriften Vollständig anpassbar pro Lebenslauf
  • PDF-Export Client-seitig via html2pdf.js (kein Browser-Backend nötig)
  • Online-Teilen Öffentlicher Link via Hash-URL /cv/[hash]
  • Formate: PDF, HTML, JSON, CSV, Excel (XLSX)
  • DE/EN Vollständige Übersetzung beider Sprachen

Schnellstart

# 1. Abhängigkeiten installieren
npm install

# 2. Umgebungsvariablen konfigurieren
cp .env.example .env
# → .env bearbeiten (SMTP-Daten eintragen)

# 3. Starten
npm run dev

App läuft auf: http://localhost:4321


Umgebungsvariablen (.env)

Variable Beschreibung Standard
DB_PATH Pfad zur SQLite-Datei ./data/lebenslauf.db
SESSION_SECRET Zufälliger langer String
SMTP_HOST SMTP-Server localhost
SMTP_PORT SMTP-Port 587
SMTP_SECURE SSL/TLS false
SMTP_USER SMTP-Benutzername
SMTP_PASS SMTP-Passwort
SMTP_FROM Absender-Adresse noreply@localhost
APP_URL Öffentliche App-URL http://localhost:4321
OTP_EXPIRES_MINUTES OTP-Gültigkeit 10

Dev-Modus: Wenn kein SMTP konfiguriert ist, wird der OTP-Code in der Konsole ausgegeben.


Produktion

npm run build
npm start

Die App läuft als eigenständiger Node.js-Server.


Exports

Format Methode Inhalt
PDF html2pdf.js (CDN) Druckfertiger DIN A4 Lebenslauf
HTML Client-seitig Standalone-Datei mit eingebettetem CSS
JSON Client-seitig Vollständige strukturierte Daten
CSV Client-seitig Tabellarische Daten (UTF-8 BOM)
Excel SheetJS (CDN) 5 Blätter: Persönlich, Erfahrung, Ausbildung, Kenntnisse, Sprachen

URLs

Route Beschreibung
/ Login-Seite
/verify OTP-Eingabe
/dashboard Übersicht der Lebensläufe
/editor/[id] Lebenslauf bearbeiten
/cv/[hash] Öffentliche Ansicht (wenn aktiviert)

Technologie

  • Astro 4 mit SSR (Node-Adapter)
  • SQLite via better-sqlite3
  • E-Mail via nodemailer
  • PDF via html2pdf.js (CDN, kein Install)
  • Excel via SheetJS (CDN, kein Install)
  • CSS reines CSS, kein Framework

Eigene SMTP-Provider

Provider Host Port Secure
Gmail smtp.gmail.com 587 false
Netcup (1blu) smtp.example.com 587 false
Outlook smtp.office365.com 587 false
Mailgun smtp.mailgun.org 587 false

Für Gmail: App-Passwort verwenden (nicht das Konto-Passwort).

Description
No description provided
Readme 299 KiB
Languages
Astro 56%
TypeScript 30.1%
CSS 11.8%
JavaScript 1.7%
Dockerfile 0.4%