- Created BlogList client component with search and category filtering - Integrated SearchBar and CategoryFilter components - Implemented case-insensitive search by title/excerpt/tags - Added category filtering with AND logic for combined filters - Updated pagination to work with filtered results - Added search placeholder translations for de/en/sr - Moved blog card and pagination logic to client component Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
558 lines
18 KiB
JSON
558 lines
18 KiB
JSON
{
|
|
"meta": {
|
|
"site": {
|
|
"name": "Damjan Savić",
|
|
"title": "Damjan Savić | Fullstack-, IoT- & KI-Entwickler",
|
|
"subtitle": "Skalierbare Softwarelösungen mit IoT- und KI-Integration",
|
|
"description": "Als Fullstack-Entwickler aus Köln spezialisiert sich Damjan Savić auf die Entwicklung skalierbarer Softwarelösungen mit IoT- und KI-Integration."
|
|
},
|
|
"author": {
|
|
"name": "Damjan Savić",
|
|
"role": "Senior Fullstack Developer & Digital Solutions Consultant",
|
|
"location": "Köln, 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 Savić - Digital Solutions & JTL Integration",
|
|
"siteDescription": "Entwickler individueller Lösungen zur Automatisierung von Prozessen",
|
|
"nav": {
|
|
"home": "Start",
|
|
"about": "Über mich",
|
|
"services": "Leistungen",
|
|
"portfolio": "Portfolio",
|
|
"blog": "Blog",
|
|
"contact": "Kontakt"
|
|
},
|
|
"actions": {
|
|
"readMore": "Weiterlesen",
|
|
"viewMore": "Mehr anzeigen",
|
|
"viewAll": "Alle anzeigen",
|
|
"back": "Zurück",
|
|
"close": "Schließen",
|
|
"submit": "Absenden",
|
|
"loading": "Lädt..."
|
|
},
|
|
"errors": {
|
|
"generic": "Ein Fehler ist aufgetreten",
|
|
"notFound": "Seite nicht gefunden",
|
|
"loading": "Fehler beim Laden",
|
|
"return": "Zurück 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": "Für grundlegende Funktionen der Website",
|
|
"analytics": "Analyse-Cookies",
|
|
"analyticsDesc": "Für Analysen zur Verbesserung der Website",
|
|
"learnMore": "Mehr erfahren"
|
|
}
|
|
},
|
|
"navigation": {
|
|
"main": {
|
|
"home": "Startseite",
|
|
"about": "Über mich",
|
|
"services": "Leistungen",
|
|
"portfolio": "Portfolio",
|
|
"blog": "Blog",
|
|
"contact": "Kontakt"
|
|
},
|
|
"admin": {
|
|
"login": "Anmelden",
|
|
"dashboard": "Dashboard",
|
|
"logout": "Abmelden"
|
|
},
|
|
"footer": {
|
|
"legal": {
|
|
"privacy": "Datenschutz",
|
|
"terms": "AGB",
|
|
"imprint": "Impressum"
|
|
}
|
|
},
|
|
"mobile": {
|
|
"menu": "Menü",
|
|
"close": "Schließen",
|
|
"open": "Menü öffnen"
|
|
}
|
|
},
|
|
"footer": {
|
|
"sections": {
|
|
"contact": {
|
|
"title": "Kontakt",
|
|
"email": "info@damjan-savic.com",
|
|
"location": "Köln, Deutschland"
|
|
},
|
|
"navigation": {
|
|
"title": "Navigation",
|
|
"links": {
|
|
"portfolio": "Portfolio",
|
|
"blog": "Blog",
|
|
"about": "Über mich",
|
|
"contact": "Kontakt"
|
|
}
|
|
},
|
|
"social": {
|
|
"title": "Social Media"
|
|
}
|
|
},
|
|
"legal": {
|
|
"copyright": "Alle Rechte vorbehalten",
|
|
"links": {
|
|
"privacy": "Datenschutz",
|
|
"imprint": "Impressum",
|
|
"terms": "AGB"
|
|
}
|
|
}
|
|
},
|
|
"pages": {
|
|
"home": {
|
|
"hero": {
|
|
"title": "FULLSTACK DEVELOPER",
|
|
"name": "DAMJAN SAVIC",
|
|
"subtitle": "KI-AGENTEN | VOICE AI | PROZESSAUTOMATISIERUNG",
|
|
"description": "Entwicklung von KI-Agenten und Automatisierungslösungen. Von Voice-AI-Plattformen bis zu autonomen Web-Agenten.",
|
|
"currentRole": "Aktuell @ Everlast Consulting GmbH",
|
|
"cta": "KONTAKT AUFNEHMEN",
|
|
"navigation": {
|
|
"experience": "ERFAHRUNG",
|
|
"skills": "FÄHIGKEITEN",
|
|
"projects": "PROJEKTE",
|
|
"about": "ÜBER MICH"
|
|
}
|
|
},
|
|
"gallery": {
|
|
"title": "Einblicke",
|
|
"description": "Professionelle Momente aus meinem Arbeitsalltag"
|
|
},
|
|
"about": {
|
|
"title": "Über Damjan Savić - Senior Fullstack Entwickler & Digital Solutions Consultant",
|
|
"content": "Damjan Savić ist AI & Automation Specialist mit Fokus auf Voice AI, autonome Agenten und Prozessautomatisierung. Mit einem M.A. in Software Development und über 7 Jahren Erfahrung in der Entwicklung digitaler Lösungen verbindet er technische Expertise mit strategischem Geschäftsverständnis.",
|
|
"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-Lösungen",
|
|
"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-Lösungen mit Zebra-Hardware"
|
|
]
|
|
},
|
|
{
|
|
"role": "ERP-Integrationsspezialist & E-Commerce-Entwickler",
|
|
"company": "Joyce & Girls",
|
|
"period": "01/2023 - 08/2023",
|
|
"highlights": [
|
|
"ApparelMagic & TradeByte Integration",
|
|
"MariaDB Middleware-Entwicklung",
|
|
"Shopify-Optimierung"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"skills": {
|
|
"title": "Fähigkeiten",
|
|
"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": "Über Mich - Damjan Savić | Fullstack Entwickler & KI-Spezialist",
|
|
"description": "Erfahren Sie mehr über Damjan Savić - AI & Automation Specialist mit Fokus auf Voice AI, autonome Agenten und Prozessautomatisierung aus Köln."
|
|
},
|
|
"hero": {
|
|
"aboutMe": "Über mich",
|
|
"title": "FULLSTACK ENTWICKLER KÖLN",
|
|
"description": "Als AI & Automation Specialist mit über 7 Jahren Erfahrung entwickle ich skalierbare Lösungen für komplexe Geschäftsprozesse. Mein Fokus liegt auf Voice AI, autonomen Agenten und Prozessautomatisierung.",
|
|
"expertise": {
|
|
"processAutomation": {
|
|
"title": "Prozessautomatisierung",
|
|
"description": "Automatisierung komplexer Geschäftsprozesse mit n8n, Zapier und Python"
|
|
},
|
|
"systemIntegration": {
|
|
"title": "System-Integration",
|
|
"description": "Nahtlose Integration von ERP, CRM und E-Commerce Systemen"
|
|
},
|
|
"customDevelopment": {
|
|
"title": "Individuelle Entwicklung",
|
|
"description": "Maßgeschneiderte Softwarelösungen mit Python, TypeScript und React"
|
|
}
|
|
},
|
|
"languages": {
|
|
"python": "Python",
|
|
"typescript": "TypeScript",
|
|
"react": "React",
|
|
"nextjs": "Next.js",
|
|
"nodejs": "Node.js",
|
|
"sql": "SQL"
|
|
}
|
|
},
|
|
"skills": {
|
|
"title": "Fähigkeiten & Expertise",
|
|
"description": "Meine technischen Fähigkeiten und Kompetenzen, die ich in über 7 Jahren Berufserfahrung erworben habe.",
|
|
"skillGroups": [
|
|
{
|
|
"category": "Backend & Automation",
|
|
"items": [
|
|
{ "name": "Python", "level": 90 },
|
|
{ "name": "n8n / Zapier", "level": 85 },
|
|
{ "name": "Node.js", "level": 80 },
|
|
{ "name": "FastAPI", "level": 85 }
|
|
]
|
|
},
|
|
{
|
|
"category": "Frontend",
|
|
"items": [
|
|
{ "name": "React", "level": 85 },
|
|
{ "name": "TypeScript", "level": 85 },
|
|
{ "name": "Next.js", "level": 80 },
|
|
{ "name": "Tailwind CSS", "level": 90 }
|
|
]
|
|
},
|
|
{
|
|
"category": "Datenbanken & Cloud",
|
|
"items": [
|
|
{ "name": "PostgreSQL", "level": 85 },
|
|
{ "name": "Supabase", "level": 80 },
|
|
{ "name": "Docker", "level": 75 },
|
|
{ "name": "Azure", "level": 70 }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"workflow": {
|
|
"title": "Mein Arbeitsablauf",
|
|
"description": "Strukturierter Prozess von der Anforderungsanalyse bis zur erfolgreichen Implementierung.",
|
|
"steps": [
|
|
{ "number": "01", "title": "Anforderungsanalyse & Beratung" },
|
|
{ "number": "02", "title": "Technische Konzeption & Architektur" },
|
|
{ "number": "03", "title": "Agile Entwicklung & Testing" },
|
|
{ "number": "04", "title": "Deployment & Integration" },
|
|
{ "number": "05", "title": "Monitoring & Optimierung" },
|
|
{ "number": "06", "title": "Support & Wartung" }
|
|
]
|
|
},
|
|
"journey": {
|
|
"title": "Mein Werdegang",
|
|
"subtitle": "Ausbildung, Sprachen und berufliche Erfahrung",
|
|
"education": {
|
|
"title": "Ausbildung",
|
|
"degrees": {
|
|
"masters": {
|
|
"degree": "M.A. Software Development",
|
|
"university": "FOM Hochschule für Ökonomie & Management",
|
|
"period": "2021 - 2023"
|
|
},
|
|
"bachelors": {
|
|
"degree": "B.Sc. Wirtschaftsinformatik",
|
|
"university": "FOM Hochschule für Ökonomie & Management",
|
|
"period": "2017 - 2021"
|
|
}
|
|
}
|
|
},
|
|
"languages": {
|
|
"title": "Sprachen",
|
|
"items": {
|
|
"german": { "name": "Deutsch", "level": "Muttersprache" },
|
|
"english": { "name": "Englisch", "level": "Fließend (C1)" },
|
|
"serbian": { "name": "Serbisch", "level": "Muttersprache" }
|
|
}
|
|
},
|
|
"work": {
|
|
"positions": [
|
|
{
|
|
"title": "Process Automation Specialist",
|
|
"period": "12/2024 - Heute",
|
|
"company": "Everlast Consulting GmbH",
|
|
"location": "Köln",
|
|
"highlights": [
|
|
"Entwicklung von KI-Agenten mit n8n und Zapier",
|
|
"Aufbau von Web-Scraping-Lösungen",
|
|
"Migration von Power Automate zu n8n"
|
|
]
|
|
},
|
|
{
|
|
"title": "Consultant Digital Solutions",
|
|
"period": "08/2023 - 11/2024",
|
|
"company": "Ritter Digital GmbH",
|
|
"location": "Köln",
|
|
"highlights": [
|
|
"Backend-Services auf dedizierten Servern",
|
|
"KI-Integration via Power Automate",
|
|
"RFID/IoT-Lösungen mit Zebra-Hardware"
|
|
]
|
|
},
|
|
{
|
|
"title": "ERP-Integrationsspezialist",
|
|
"period": "01/2023 - 08/2023",
|
|
"company": "Joyce & Girls",
|
|
"location": "Köln",
|
|
"highlights": [
|
|
"ApparelMagic & TradeByte Integration",
|
|
"MariaDB Middleware-Entwicklung",
|
|
"Shopify-Optimierung"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"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 können."
|
|
},
|
|
"contactInfo": {
|
|
"title": "Kontaktinformationen",
|
|
"description": "Sie können mich über folgende Wege erreichen",
|
|
"address": {
|
|
"label": "Bürostandort",
|
|
"value": "Rotdornallee, Köln"
|
|
},
|
|
"phone": {
|
|
"label": "Telefon",
|
|
"value": "+49 175 695 0979"
|
|
},
|
|
"email": {
|
|
"label": "E-Mail",
|
|
"value": "info@damjan-savic.com"
|
|
},
|
|
"availabilityNote": "Ich antworte in der Regel innerhalb von 24 Stunden."
|
|
},
|
|
"contactForm": {
|
|
"title": "Kontaktieren Sie mich",
|
|
"description": "Haben Sie Fragen oder möchten Sie zusammenarbeiten? Schreiben Sie mir eine Nachricht.",
|
|
"name": {
|
|
"label": "Name",
|
|
"placeholder": "Ihr vollständiger Name"
|
|
},
|
|
"email": {
|
|
"label": "E-Mail",
|
|
"placeholder": "ihre.email@beispiel.de"
|
|
},
|
|
"message": {
|
|
"label": "Nachricht",
|
|
"placeholder": "Ihre Nachricht an mich..."
|
|
},
|
|
"submit": "Nachricht senden",
|
|
"successMessage": "Vielen Dank für Ihre Nachricht! Ich werde mich so schnell wie möglich bei Ihnen melden.",
|
|
"errorMessage": "Entschuldigung, beim Senden Ihrer Nachricht ist ein Fehler aufgetreten."
|
|
}
|
|
},
|
|
"privacy": {
|
|
"seo": {
|
|
"title": "Datenschutzerklärung",
|
|
"description": "Datenschutzerklärung für die Portfolio-Website von Damjan Savić"
|
|
},
|
|
"content": {
|
|
"title": "Datenschutzerklärung",
|
|
"lastUpdated": "Zuletzt aktualisiert: 10. März 2024"
|
|
}
|
|
},
|
|
"terms": {
|
|
"seo": {
|
|
"title": "Allgemeine Geschäftsbedingungen",
|
|
"description": "Allgemeine Geschäftsbedingungen für die Portfolio-Website von Damjan Savić"
|
|
},
|
|
"content": {
|
|
"title": "Allgemeine Geschäftsbedingungen",
|
|
"lastUpdated": "Zuletzt aktualisiert: 10. März 2024"
|
|
}
|
|
},
|
|
"notfound": {
|
|
"title": "Seite nicht gefunden",
|
|
"description": "Die angeforderte Seite existiert nicht oder wurde verschoben.",
|
|
"backHome": "Zurück zur Startseite"
|
|
}
|
|
},
|
|
"portfolio": {
|
|
"seo": {
|
|
"title": "Portfolio - Fullstack Entwickler Köln Damjan Savić | Python & React Projekte",
|
|
"description": "Portfolio von Freelance Developer Köln Damjan Savić: Python Automatisierung, OLLAMA KI Integration, ERP System Integration, E-Commerce Entwicklung."
|
|
},
|
|
"sections": {
|
|
"title": "Software Entwickler Köln - Portfolio Damjan Savić",
|
|
"subtitle": "Python Entwickler Köln & 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": "Zurück zum Portfolio",
|
|
"technologies": "Technologien"
|
|
}
|
|
},
|
|
"blog": {
|
|
"meta": {
|
|
"title": "Blog von Damjan Savić - JTL Integration & Digital Solutions",
|
|
"description": "Insights und Best Practices von Damjan Savić zu JTL-WaWi, E-Commerce und digitaler Transformation.",
|
|
"header": {
|
|
"title": "Insights & Best Practices von Damjan Savić",
|
|
"subtitle": "Damjan Savić teilt Insights und Best Practices zu JTL-WaWi, E-Commerce und digitaler Transformation"
|
|
}
|
|
},
|
|
"ui": {
|
|
"readMore": "Weiterlesen",
|
|
"search": {
|
|
"placeholder": "Beiträge durchsuchen..."
|
|
},
|
|
"loading": {
|
|
"posts": "Blogbeiträge werden geladen...",
|
|
"post": "Blogbeitrag wird geladen..."
|
|
},
|
|
"errors": {
|
|
"posts": "Keine Beiträge gefunden",
|
|
"post": "Der gesuchte Blogbeitrag existiert nicht oder wurde verschoben."
|
|
},
|
|
"backToBlog": "Zurück zum Blog",
|
|
"publishedOn": "Veröffentlicht am",
|
|
"category": "Kategorie",
|
|
"tags": "Tags",
|
|
"pagination": {
|
|
"previous": "Zurück",
|
|
"next": "Weiter",
|
|
"page": "Seite",
|
|
"of": "von",
|
|
"showing": "Zeige {start}-{end} von {total} Artikeln"
|
|
}
|
|
}
|
|
},
|
|
"login": {
|
|
"seo": {
|
|
"title": "Login",
|
|
"description": "Anmelden für 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 läuft..."
|
|
},
|
|
"errors": {
|
|
"default": "Ein Fehler ist aufgetreten",
|
|
"invalidCredentials": "Ungültige 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": "Änderung"
|
|
}
|
|
},
|
|
"status": {
|
|
"loading": "Lade Dashboard...",
|
|
"error": "Fehler beim Laden der Daten",
|
|
"notAuthenticated": "Bitte melden Sie sich an"
|
|
}
|
|
}
|
|
}
|