Migrate from Vite to Next.js 15 with SSR
- Replace Vite + React Router with Next.js 15 App Router - Implement i18n with next-intl (URL-based: /de, /en, /sr) - Add SSR/SSG for all pages (48 static pages generated) - Setup Supabase SSR client for auth - Migrate all pages: Home, About, Portfolio, Blog, Contact, Login, Dashboard, Imprint, Privacy, Terms - Add Docker support with standalone output - Replace i18next with next-intl JSON translations - Use next/image for optimized images Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,411 @@
|
||||
{
|
||||
"meta": {
|
||||
"site": {
|
||||
"name": "Damjan Savic",
|
||||
"title": "Damjan Savic | Fullstack-, IoT- & KI-Entwickler",
|
||||
"subtitle": "Skalierbare Softwareloesungen mit IoT- und KI-Integration",
|
||||
"description": "Als Fullstack-Entwickler aus Koeln spezialisiert sich Damjan Savic auf die Entwicklung skalierbarer Softwareloesungen mit IoT- und KI-Integration."
|
||||
},
|
||||
"author": {
|
||||
"name": "Damjan Savic",
|
||||
"role": "Senior Fullstack Developer & Digital Solutions Consultant",
|
||||
"location": "Koeln, Deutschland",
|
||||
"email": "info@damjan-savic.com"
|
||||
},
|
||||
"social": {
|
||||
"linkedin": "https://www.linkedin.com/in/damjansavic/",
|
||||
"github": "https://github.com/damjansavic",
|
||||
"email": "info@damjan-savic.com"
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"siteTitle": "Damjan Savic - Digital Solutions & JTL Integration",
|
||||
"siteDescription": "Entwickler individueller Loesungen zur Automatisierung von Prozessen",
|
||||
"nav": {
|
||||
"home": "Start",
|
||||
"about": "Ueber mich",
|
||||
"services": "Leistungen",
|
||||
"portfolio": "Portfolio",
|
||||
"blog": "Blog",
|
||||
"contact": "Kontakt"
|
||||
},
|
||||
"actions": {
|
||||
"readMore": "Weiterlesen",
|
||||
"viewMore": "Mehr anzeigen",
|
||||
"viewAll": "Alle anzeigen",
|
||||
"back": "Zurueck",
|
||||
"close": "Schliessen",
|
||||
"submit": "Absenden",
|
||||
"loading": "Laedt..."
|
||||
},
|
||||
"errors": {
|
||||
"generic": "Ein Fehler ist aufgetreten",
|
||||
"notFound": "Seite nicht gefunden",
|
||||
"loading": "Fehler beim Laden",
|
||||
"return": "Zurueck zur Startseite"
|
||||
},
|
||||
"cookies": {
|
||||
"message": "Diese Website verwendet Cookies, um Ihr Browsing-Erlebnis zu verbessern. Die Daten werden nicht an Dritte weitergegeben.",
|
||||
"accept": "Cookies akzeptieren",
|
||||
"decline": "Ablehnen",
|
||||
"necessary": "Notwendige Cookies",
|
||||
"necessaryDesc": "Fuer grundlegende Funktionen der Website",
|
||||
"analytics": "Analyse-Cookies",
|
||||
"analyticsDesc": "Fuer Analysen zur Verbesserung der Website",
|
||||
"learnMore": "Mehr erfahren"
|
||||
}
|
||||
},
|
||||
"navigation": {
|
||||
"main": {
|
||||
"home": "Startseite",
|
||||
"about": "Ueber mich",
|
||||
"portfolio": "Portfolio",
|
||||
"blog": "Blog",
|
||||
"contact": "Kontakt"
|
||||
},
|
||||
"admin": {
|
||||
"login": "Anmelden",
|
||||
"dashboard": "Dashboard",
|
||||
"logout": "Abmelden"
|
||||
},
|
||||
"footer": {
|
||||
"legal": {
|
||||
"privacy": "Datenschutz",
|
||||
"terms": "AGB",
|
||||
"imprint": "Impressum"
|
||||
}
|
||||
},
|
||||
"mobile": {
|
||||
"menu": "Menue",
|
||||
"close": "Schliessen",
|
||||
"open": "Menue oeffnen"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"sections": {
|
||||
"contact": {
|
||||
"title": "Kontakt",
|
||||
"email": "info@damjan-savic.com",
|
||||
"location": "Koeln, Deutschland"
|
||||
},
|
||||
"navigation": {
|
||||
"title": "Navigation",
|
||||
"links": {
|
||||
"portfolio": "Portfolio",
|
||||
"blog": "Blog",
|
||||
"about": "Ueber mich",
|
||||
"contact": "Kontakt"
|
||||
}
|
||||
},
|
||||
"social": {
|
||||
"title": "Social Media"
|
||||
}
|
||||
},
|
||||
"legal": {
|
||||
"copyright": "Alle Rechte vorbehalten",
|
||||
"links": {
|
||||
"privacy": "Datenschutz",
|
||||
"imprint": "Impressum",
|
||||
"terms": "AGB"
|
||||
}
|
||||
}
|
||||
},
|
||||
"pages": {
|
||||
"home": {
|
||||
"hero": {
|
||||
"title": "AI & AUTOMATION SPECIALIST",
|
||||
"name": "DAMJAN SAVIC",
|
||||
"subtitle": "KI-AGENTEN | VOICE AI | PROZESSAUTOMATISIERUNG",
|
||||
"description": "Entwicklung von KI-Agenten und Automatisierungsloesungen. Von Voice-AI-Plattformen bis zu autonomen Web-Agenten.",
|
||||
"currentRole": "Aktuell @ Everlast Consulting GmbH",
|
||||
"cta": "KONTAKT AUFNEHMEN",
|
||||
"navigation": {
|
||||
"experience": "ERFAHRUNG",
|
||||
"skills": "FAEHIGKEITEN",
|
||||
"projects": "PROJEKTE",
|
||||
"about": "UEBER MICH"
|
||||
}
|
||||
},
|
||||
"about": {
|
||||
"title": "Ueber Damjan Savic - Senior Fullstack Entwickler & Digital Solutions Consultant",
|
||||
"content": "Damjan Savic ist AI & Automation Specialist mit Fokus auf Voice AI, autonome Agenten und Prozessautomatisierung. Mit einem M.A. in Software Development und ueber 7 Jahren Erfahrung in der Entwicklung digitaler Loesungen verbindet er technische Expertise mit strategischem Geschaeftsverstaendnis.",
|
||||
"buttons": {
|
||||
"learnMore": "Mehr erfahren",
|
||||
"downloadCV": "CV herunterladen"
|
||||
}
|
||||
},
|
||||
"experience": {
|
||||
"title": "Berufserfahrung",
|
||||
"positions": [
|
||||
{
|
||||
"role": "Process Automation Specialist",
|
||||
"company": "Everlast Consulting GmbH",
|
||||
"period": "12/2024 - HEUTE",
|
||||
"highlights": [
|
||||
"Entwicklung von KI-Agenten mit n8n und Zapier",
|
||||
"Aufbau von Web-Scraping-Loesungen",
|
||||
"Migration von Power Automate zu n8n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"role": "Consultant Digital Solutions",
|
||||
"company": "Ritter Digital GmbH",
|
||||
"period": "08/2023 - 11/2024",
|
||||
"highlights": [
|
||||
"Backend-Services auf dedizierten Servern",
|
||||
"KI-Integration via Power Automate",
|
||||
"RFID/IoT-Loesungen mit Zebra-Hardware"
|
||||
]
|
||||
},
|
||||
{
|
||||
"role": "ERP-Integrationsspezialist & E-Commerce-Entwickler",
|
||||
"company": "Joyce & Girls",
|
||||
"period": "01/2023 - 08/2023",
|
||||
"highlights": [
|
||||
"ApparelMagic & TradeByte Integration",
|
||||
"MariaDB Middleware-Entwicklung",
|
||||
"Windows Server Administration",
|
||||
"Shopify-Optimierung"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"skills": {
|
||||
"title": "Faehigkeiten",
|
||||
"skills": [
|
||||
{
|
||||
"name": "AI & LLMs",
|
||||
"level": 90,
|
||||
"description": "GPT-4, Claude API, Vapi Voice AI"
|
||||
},
|
||||
{
|
||||
"name": "Automation",
|
||||
"level": 85,
|
||||
"description": "n8n, Zapier, Power Automate"
|
||||
},
|
||||
{
|
||||
"name": "Python",
|
||||
"level": 90,
|
||||
"description": "Backend, APIs, Automation"
|
||||
},
|
||||
{
|
||||
"name": "TypeScript",
|
||||
"level": 85,
|
||||
"description": "React, Next.js, Node.js"
|
||||
},
|
||||
{
|
||||
"name": "Datenbank",
|
||||
"level": 85,
|
||||
"description": "PostgreSQL, Supabase, MariaDB"
|
||||
},
|
||||
{
|
||||
"name": "DevOps",
|
||||
"level": 75,
|
||||
"description": "Docker, Vercel, Dedicated Servers"
|
||||
}
|
||||
]
|
||||
},
|
||||
"projects": {
|
||||
"title": "Portfolio",
|
||||
"viewAll": "Alle Projekte"
|
||||
}
|
||||
},
|
||||
"about": {
|
||||
"seo": {
|
||||
"title": "Ueber Mich - Damjan Savic | Fullstack Entwickler & KI-Spezialist",
|
||||
"description": "Erfahren Sie mehr ueber Damjan Savic - AI & Automation Specialist mit Fokus auf Voice AI, autonome Agenten und Prozessautomatisierung aus Koeln."
|
||||
},
|
||||
"hero": {
|
||||
"aboutMe": "FULLSTACK ENTWICKLER KOELN - DAMJAN SAVIC",
|
||||
"title": "Python Entwickler Koeln & React Developer - Damjan Savic",
|
||||
"description": "Als Fullstack Entwickler Koeln ist Damjan Savic Ihr Freelance Developer fuer Python Automatisierung und React Entwicklung."
|
||||
}
|
||||
},
|
||||
"contact": {
|
||||
"breadcrumb": "KONTAKT",
|
||||
"hero": {
|
||||
"title": "Lassen Sie uns zusammenarbeiten",
|
||||
"subtitle": "Sie haben ein Projekt im Sinn? Lassen Sie uns besprechen, wie wir Ihnen bei der Erreichung Ihrer Ziele helfen koennen."
|
||||
},
|
||||
"contactInfo": {
|
||||
"title": "Kontaktinformationen",
|
||||
"description": "Sie koennen mich ueber folgende Wege erreichen",
|
||||
"address": {
|
||||
"label": "Buerostandort",
|
||||
"value": "Rotdornallee, Koeln"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Telefon",
|
||||
"value": "+49 175 695 0979"
|
||||
},
|
||||
"email": {
|
||||
"label": "E-Mail",
|
||||
"value": "info@damjan-savic.com"
|
||||
}
|
||||
},
|
||||
"contactForm": {
|
||||
"title": "Kontaktieren Sie mich",
|
||||
"description": "Haben Sie Fragen oder moechten Sie zusammenarbeiten? Schreiben Sie mir eine Nachricht.",
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Ihr vollstaendiger Name"
|
||||
},
|
||||
"email": {
|
||||
"label": "E-Mail",
|
||||
"placeholder": "ihre.email@beispiel.de"
|
||||
},
|
||||
"message": {
|
||||
"label": "Nachricht",
|
||||
"placeholder": "Ihre Nachricht an mich..."
|
||||
},
|
||||
"submit": "Nachricht senden",
|
||||
"successMessage": "Vielen Dank fuer Ihre Nachricht! Ich werde mich so schnell wie moeglich bei Ihnen melden.",
|
||||
"errorMessage": "Entschuldigung, beim Senden Ihrer Nachricht ist ein Fehler aufgetreten."
|
||||
}
|
||||
},
|
||||
"privacy": {
|
||||
"seo": {
|
||||
"title": "Datenschutzerklaerung",
|
||||
"description": "Datenschutzerklaerung fuer die Portfolio-Website von Damjan Savic"
|
||||
},
|
||||
"content": {
|
||||
"title": "Datenschutzerklaerung",
|
||||
"lastUpdated": "Zuletzt aktualisiert: 10. Maerz 2024"
|
||||
}
|
||||
},
|
||||
"terms": {
|
||||
"seo": {
|
||||
"title": "Allgemeine Geschaeftsbedingungen",
|
||||
"description": "Allgemeine Geschaeftsbedingungen fuer die Portfolio-Website von Damjan Savic"
|
||||
},
|
||||
"content": {
|
||||
"title": "Allgemeine Geschaeftsbedingungen",
|
||||
"lastUpdated": "Zuletzt aktualisiert: 10. Maerz 2024"
|
||||
}
|
||||
},
|
||||
"notfound": {
|
||||
"title": "Seite nicht gefunden",
|
||||
"description": "Die angeforderte Seite existiert nicht oder wurde verschoben.",
|
||||
"backHome": "Zurueck zur Startseite"
|
||||
}
|
||||
},
|
||||
"portfolio": {
|
||||
"seo": {
|
||||
"title": "Portfolio - Fullstack Entwickler Koeln Damjan Savic | Python & React Projekte",
|
||||
"description": "Portfolio von Freelance Developer Koeln Damjan Savic: Python Automatisierung, OLLAMA KI Integration, ERP System Integration, E-Commerce Entwicklung."
|
||||
},
|
||||
"sections": {
|
||||
"title": "Software Entwickler Koeln - Portfolio Damjan Savic",
|
||||
"subtitle": "Python Entwickler Koeln & React Developer - Erfolgreiche Projekte"
|
||||
},
|
||||
"filters": {
|
||||
"all": "Alle",
|
||||
"categories": {
|
||||
"Data Science": "Data Science",
|
||||
"AI Development": "KI-Entwicklung",
|
||||
"Integration": "Integration",
|
||||
"Full-Stack Development": "Full-Stack Entwicklung",
|
||||
"Data Processing": "Datenverarbeitung"
|
||||
}
|
||||
},
|
||||
"ui": {
|
||||
"loading": "Projekte werden geladen...",
|
||||
"noProjects": "Keine Projekte gefunden",
|
||||
"viewProject": "Projekt ansehen",
|
||||
"backToPortfolio": "Zurueck zum Portfolio",
|
||||
"technologies": "Technologien"
|
||||
}
|
||||
},
|
||||
"blog": {
|
||||
"meta": {
|
||||
"title": "Blog von Damjan Savic - JTL Integration & Digital Solutions",
|
||||
"description": "Insights und Best Practices von Damjan Savic zu JTL-WaWi, E-Commerce und digitaler Transformation.",
|
||||
"header": {
|
||||
"title": "Insights & Best Practices von Damjan Savic",
|
||||
"subtitle": "Damjan Savic teilt Insights und Best Practices zu JTL-WaWi, E-Commerce und digitaler Transformation"
|
||||
}
|
||||
},
|
||||
"ui": {
|
||||
"readMore": "Weiterlesen",
|
||||
"loading": {
|
||||
"posts": "Blogbeitraege werden geladen...",
|
||||
"post": "Blogbeitrag wird geladen..."
|
||||
},
|
||||
"errors": {
|
||||
"posts": "Fehler beim Laden der Blogbeitraege",
|
||||
"post": "Der gesuchte Blogbeitrag existiert nicht oder wurde verschoben."
|
||||
},
|
||||
"backToBlog": "Zurueck zum Blog",
|
||||
"publishedOn": "Veroeffentlicht am",
|
||||
"category": "Kategorie",
|
||||
"tags": "Tags"
|
||||
}
|
||||
},
|
||||
"login": {
|
||||
"seo": {
|
||||
"title": "Login",
|
||||
"description": "Anmelden fuer Zugriff auf das Dashboard"
|
||||
},
|
||||
"header": {
|
||||
"title": "Im Dashboard anmelden"
|
||||
},
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "E-Mail-Adresse",
|
||||
"placeholder": "ihre.email@beispiel.de"
|
||||
},
|
||||
"password": {
|
||||
"label": "Passwort",
|
||||
"placeholder": "Ihr Passwort"
|
||||
},
|
||||
"submit": {
|
||||
"default": "Anmelden",
|
||||
"loading": "Anmeldung laeuft..."
|
||||
},
|
||||
"errors": {
|
||||
"default": "Ein Fehler ist aufgetreten",
|
||||
"invalidCredentials": "Ungueltige Anmeldedaten"
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"secureConnection": "Sichere Verbindung"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"header": {
|
||||
"title": "Analytics Dashboard",
|
||||
"activeUsers": "aktive Nutzer"
|
||||
},
|
||||
"metrics": {
|
||||
"pageViews": {
|
||||
"title": "Seitenaufrufe",
|
||||
"perMinute": "pro Minute"
|
||||
},
|
||||
"uniqueVisitors": {
|
||||
"title": "Eindeutige Besucher",
|
||||
"currentlyActive": "aktuell aktiv"
|
||||
},
|
||||
"conversions": {
|
||||
"title": "Konversionen",
|
||||
"rate": "Konversionsrate"
|
||||
},
|
||||
"timeOnSite": {
|
||||
"title": "Durchschn. Besuchszeit",
|
||||
"bounceRate": "Absprungrate"
|
||||
}
|
||||
},
|
||||
"topPages": {
|
||||
"title": "Top-Seiten",
|
||||
"columns": {
|
||||
"path": "Pfad",
|
||||
"views": "Aufrufe",
|
||||
"change": "Aenderung"
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"loading": "Lade Dashboard...",
|
||||
"error": "Fehler beim Laden der Daten",
|
||||
"notAuthenticated": "Bitte melden Sie sich an"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user