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,15 @@
|
||||
// src/i18n/locales/de/pages/home/about.ts
|
||||
export const 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.\n' +
|
||||
'Aktuell entwickelt er bei Everlast Consulting GmbH KI-Agenten mit n8n und Voice-AI-Lösungen.\n' +
|
||||
'Seine Spezialisierung umfasst die Integration von GPT-4 und Claude API in Produktions-Workflows, Middleware-Entwicklung für ERP-Systeme wie Apparel Magic und JTL, sowie RFID/IoT-Automatisierung mit Zebra-Hardware. Von der Systemintegration über API-Entwicklung bis zur Fullstack-Implementierung mit Python, TypeScript und React/Next.js liefert er pragmatische Lösungen für komplexe Geschäftsanforderungen.',
|
||||
image: {
|
||||
alt: 'Damjan Savić - Senior Fullstack Entwickler & Digital Solutions Consultant Köln | Software Architect | Cloud Expert | KI-Spezialist'
|
||||
},
|
||||
buttons: {
|
||||
learnMore: 'Mehr erfahren',
|
||||
downloadCV: 'CV herunterladen'
|
||||
}
|
||||
} as const;
|
||||
export type AboutTranslations = typeof about;
|
||||
@@ -0,0 +1,86 @@
|
||||
// src/i18n/locales/de/pages/home/experience.ts
|
||||
export const experience = {
|
||||
title: 'Berufserfahrung',
|
||||
navigation: {
|
||||
prev: '←',
|
||||
next: '→'
|
||||
},
|
||||
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',
|
||||
'Windows Server Administration',
|
||||
'Shopify-Optimierung'
|
||||
]
|
||||
},
|
||||
{
|
||||
role: 'RPA Developer & E-Commerce Manager',
|
||||
company: 'C&S Marketing',
|
||||
period: '08/2022 - 01/2023',
|
||||
highlights: [
|
||||
'Shopware 6 & JTL Integration',
|
||||
'Python Automatisierung',
|
||||
'Google Ads Optimierung',
|
||||
'CMS Management'
|
||||
]
|
||||
},
|
||||
{
|
||||
role: 'E-Commerce Developer',
|
||||
company: 'Brands Club GmbH',
|
||||
period: '08/2021 - 07/2022',
|
||||
highlights: [
|
||||
'Shopify & JTL Integration',
|
||||
'Server Administration',
|
||||
'Content Production',
|
||||
'Marketing Automation'
|
||||
]
|
||||
},
|
||||
{
|
||||
role: 'E-Commerce Developer',
|
||||
company: 'Feine Uhren Eupen',
|
||||
period: '01/2021 - 08/2021',
|
||||
highlights: [
|
||||
'Shopware 5 Development',
|
||||
'Produktfotografie',
|
||||
'Sales im Luxusuhrensegment',
|
||||
'E-Commerce Management'
|
||||
]
|
||||
},
|
||||
{
|
||||
role: 'Online Marketing Manager',
|
||||
company: 'Ufer8, Ambis, Teatro & Die Halle Tor 2',
|
||||
period: '01/2018 - 12/2020',
|
||||
highlights: [
|
||||
'Social Media Content',
|
||||
'Event Marketing',
|
||||
'Veranstaltungsorganisation',
|
||||
'Marketing Automation'
|
||||
]
|
||||
}
|
||||
]
|
||||
} as const;
|
||||
export type ExperienceTranslations = typeof experience;
|
||||
@@ -0,0 +1,27 @@
|
||||
// src/i18n/locales/de/pages/home/expertise.ts
|
||||
export const expertise = {
|
||||
title: 'Bereiche meiner Expertise',
|
||||
areas: [
|
||||
{
|
||||
title: 'ERP Integration',
|
||||
description: 'Expert für JTL-Wawi Implementierung, Konfiguration und Optimierung. Spezialisiert auf Warenwirtschaftssysteme und POS-Integration.',
|
||||
skills: ['JTL-Wawi', 'JTL-WMS', 'JTL-POS', 'Apparel Magic']
|
||||
},
|
||||
{
|
||||
title: 'Entwicklung',
|
||||
description: 'Full-Stack Entwicklung mit Fokus auf Python-Automatisierung, React Frontends und Datenbankdesign.',
|
||||
skills: ['Python', 'React/Next.js', 'MariaDB', 'Docker']
|
||||
},
|
||||
{
|
||||
title: 'E-Commerce',
|
||||
description: 'Umfangreiche Erfahrung mit verschiedenen E-Commerce-Plattformen und Marktplatz-Integrationen.',
|
||||
skills: ['Shopify', 'Shopware', 'WooCommerce', 'API Integration']
|
||||
},
|
||||
{
|
||||
title: 'Digitales Marketing',
|
||||
description: 'Strategischer Ansatz im digitalen Marketing mit Fokus auf Automatisierung und Analyse.',
|
||||
skills: ['Google Ads', 'Meta Ads', 'SEO', 'Analytics']
|
||||
}
|
||||
]
|
||||
} as const;
|
||||
export type ExpertiseTranslations = typeof expertise;
|
||||
@@ -0,0 +1,32 @@
|
||||
// src/i18n/locales/de/pages/home/hero.ts
|
||||
export const hero = {
|
||||
title: 'AI & AUTOMATION SPECIALIST',
|
||||
name: 'DAMJAN SAVIĆ',
|
||||
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',
|
||||
image: {
|
||||
alt: 'Damjan Savić - AI & Automation Specialist | KI-Agenten, Voice AI & Prozessautomatisierung'
|
||||
},
|
||||
social: {
|
||||
getInTouch: 'Kontaktieren Sie Damjan Savić',
|
||||
linkedin: {
|
||||
title: 'LinkedIn Profil von Damjan Savić besuchen'
|
||||
},
|
||||
github: {
|
||||
title: 'GitHub Profil von Damjan Savić besuchen'
|
||||
},
|
||||
email: {
|
||||
title: 'E-Mail an Damjan Savić senden'
|
||||
}
|
||||
},
|
||||
navigation: {
|
||||
experience: 'ERFAHRUNG',
|
||||
skills: 'FÄHIGKEITEN',
|
||||
projects: 'PROJEKTE',
|
||||
about: 'ÜBER MICH'
|
||||
}
|
||||
} as const;
|
||||
|
||||
export type HeroTranslations = typeof hero;
|
||||
@@ -0,0 +1,18 @@
|
||||
// src/i18n/locales/de/pages/home/index.ts
|
||||
import { hero } from './hero';
|
||||
import { about } from './about';
|
||||
import { experience } from './experience';
|
||||
import { expertise } from './expertise';
|
||||
import { skills } from './skills';
|
||||
import { projects } from './projects';
|
||||
|
||||
export const home = {
|
||||
hero,
|
||||
about,
|
||||
experience,
|
||||
expertise,
|
||||
skills,
|
||||
projects
|
||||
} as const;
|
||||
|
||||
export type HomeTranslations = typeof home;
|
||||
@@ -0,0 +1,10 @@
|
||||
// src/i18n/locales/de/pages/home/projects.ts
|
||||
export const projects = {
|
||||
title: 'Portfolio',
|
||||
viewAll: 'Alle Projekte →',
|
||||
loading: 'Projekte werden geladen...',
|
||||
error: {
|
||||
loading: 'Fehler beim Laden der Projekte'
|
||||
}
|
||||
} as const;
|
||||
export type ProjectsTranslations = typeof projects;
|
||||
@@ -0,0 +1,41 @@
|
||||
// src/i18n/locales/de/pages/home/skills.ts
|
||||
export const 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'
|
||||
}
|
||||
],
|
||||
aria: {
|
||||
skillLevel: 'Fähigkeitsniveau',
|
||||
selectSkill: 'Fähigkeit auswählen'
|
||||
}
|
||||
} as const;
|
||||
export type SkillsTranslations = typeof skills;
|
||||
Reference in New Issue
Block a user