Eine moderne, professionelle Lebenslauf-Anwendung, erstellt mit Vue 3, TypeScript, Vite und Font Awesome. Optimiert für PDF-Export mit perfektem Print-Layout.
- ✏️ CV Data Editor - Benutzerfreundliche Oberfläche unter
/editzur Bearbeitung aller CV-Daten - 💾 JSON Export/Import - Speichern und Laden von CV-Daten als JSON-Dateien
- 🔄 LocalStorage - Automatisches Speichern im Browser
- 📦 Automatisches Laden - CV-Daten werden automatisch aus
public/cv-data.jsongeladen - 🎨 Modernes, responsives Design
- 📝 Typsichere Datenverwaltung mit TypeScript
- 🖼️ Profilbild-Integration (kreisförmig)
- 🎯 Font Awesome Icons
- 📄 Print-optimiert für PDF-Export
- 🔄 Hot Module Replacement (HMR)
- 🎨 Benutzerdefinierte Farbgebung (#0e5091)
- Node.js (v16 oder höher)
- npm oder yarn
npm installWichtiger Schritt: Bevor Sie die App das erste Mal starten, müssen Sie die Beispiel-CV-Daten kopieren:
# Kopieren Sie die Beispiel-Datei zur echten CV-Datei
cp public/cv-data-example.json public/cv-data.jsonWindows (PowerShell/CMD):
copy public\cv-data-example.json public\cv-data.jsonDie Datei cv-data-example.json enthält Beispieldaten, die Sie als Ausgangspunkt verwenden können.
npm run devDie App läuft dann unter http://localhost:5173
Wichtig:
- CV anzeigen:
http://localhost:5173/ - CV bearbeiten:
http://localhost:5173/edit
Die App bietet einen integrierten CV Data Editor unter /edit:
- Im Browser zu
http://localhost:5173/editnavigieren - Alle Abschnitte ausfüllen (Persönliche Infos, Erfahrung, Bildung, etc.)
- "Save to LocalStorage" - Daten im Browser speichern
- "Export JSON" - Daten als
cv-data.jsonherunterladen - JSON-Datei in den
public/Ordner verschieben - App neu laden - Daten werden automatisch geladen!
Workflow:
/edit → Daten bearbeiten → Export JSON → Datei nach public/ → Fertig!
Die exportierte public/cv-data.json wird beim App-Start automatisch geladen.
💡 Tipp: Die public/cv-data.json kann in Git versioniert werden, um Änderungen am Lebenslauf nachzuverfolgen.
npm run buildErstellt eine optimierte Production-Build im dist/ Ordner.
- App im Browser öffnen (
http://localhost:5173) Strg + P(Windows) /Cmd + P(Mac) drücken- Ziel: "Als PDF speichern" auswählen
- In den Einstellungen:
- Hintergrundgrafiken: Aktivieren (wichtig für Farben!)
- Seitenränder: Minimal oder Standard
- Speichern
Tipp: Der blaue Header wird dank print-color-adjust: exact automatisch mit gedruckt.
Empfohlen: Nutzen Sie den CV Data Editor unter /edit (siehe oben).
Alternativ: Bearbeiten Sie src/data/cv-data.ts direkt mit Ihren persönlichen Informationen:
export const cvData: CVData = {
personalInfo: {
name: 'Ihr Name',
location: 'Ihre Stadt',
phone: '+49 ...',
email: '[email protected]',
github: 'https://github.com/username',
linkedin: 'https://linkedin.com/in/username',
profileImage: '/profile.jpg' // Optional
},
// ... weitere Daten
}Hinweis: Wenn eine public/cv-data.json existiert, wird diese automatisch geladen und überschreibt cv-data.ts.
- Quadratisches Foto vorbereiten (mindestens 300x300px)
- Als
profile.jpgoderprofile.pngimpublic/Ordner speichern - Pfad in
cv-data.tsanpassen:profileImage: '/profile.jpg'
Das Bild wird automatisch kreisförmig dargestellt (120px Durchmesser).
Die Hauptfarbe (#0e5091) kann in allen Component-Dateien geändert werden:
src/components/Header.vuesrc/components/Profile.vuesrc/components/Experience.vue- etc.
cv/
├── public/
│ └── cv-data.json # Exportierte CV-Daten (automatisch geladen)
├── src/
│ ├── components/ # Vue Komponenten
│ │ ├── Header.vue
│ │ ├── Profile.vue
│ │ ├── Experience.vue
│ │ ├── Education.vue
│ │ ├── Skills.vue
│ │ ├── Projects.vue
│ │ └── Interests.vue
│ ├── views/ # Router Views
│ │ ├── CVView.vue
│ │ └── EditorView.vue # CV Data Editor (Route: /edit)
│ ├── router/
│ │ └── index.ts # Vue Router Konfiguration
│ ├── composables/
│ │ └── useCVData.ts # CV Daten-Management & JSON Loading
│ ├── data/
│ │ └── cv-data.ts # Fallback-Daten (wenn keine JSON vorhanden)
│ ├── types/
│ │ └── cv.types.ts # TypeScript Interfaces
│ ├── App.vue # Haupt-Component mit Router
│ ├── main.ts # Entry Point + Font Awesome Setup
│ └── vite-env.d.ts # TypeScript Definitionen
├── .prettierrc # Prettier Konfiguration
├── .prettierignore
├── index.html
├── package.json
├── tsconfig.json
├── vite.config.ts
└── README.md
- Vue 3 - Progressive JavaScript Framework
- TypeScript - Typsicherheit
- Vite - Build Tool & Dev Server
- Vue Router - Client-side Routing
- Font Awesome - Icon Library
@fortawesome/fontawesome-svg-core@fortawesome/free-solid-svg-icons@fortawesome/free-brands-svg-icons@fortawesome/vue-fontawesome
- Prettier - Code Formatter
- Klare, professionelle Struktur
- Responsive Design (Desktop & Mobile)
- Print-First Approach für PDF-Export
- Konsistente Icon-Nutzung
- Typsichere Datenverwaltung
Frei verwendbar für private und kommerzielle Zwecke.
Erstellt mit ❤️ und Vue 3