From 08336acc5c4ff87e9ffa9d34801e21ab9c274e7f Mon Sep 17 00:00:00 2001 From: Sascha Date: Tue, 9 Sep 2025 13:39:57 +0200 Subject: [PATCH] Centralize text management and remove backend dependencies BREAKING CHANGES: Remove entire backend infrastructure in favor of direct mailto links Centralize all text content to single configuration file Features: Add centralized text configuration system in texts.ts Add Privacy Policy page with GDPR compliance Implement type-safe text management with TypeScript interfaces Add internationalization-ready text structure Refactoring: Update all components to use centralized text configuration: Navigation menu items and labels Theme toggle icons and labels Footer text and aria labels Contact section content and form texts Projects section button labels Imprint page legal content Replace backend contact form with direct mailto functionality Simplify contact flow to use email client directly Backend Removal: Remove complete Node.js/Express backend infrastructure Remove email service and contact form submission logic Remove API configuration and validation middleware Clean up package dependencies (remove express-validator, backend packages) Style Improvements: Standardize SCSS variables across all section files Add consistent card styling and transitions Improve responsive design patterns Enhance contact section with new email-focused layout Infrastructure: Update routing to include Privacy Policy page Maintain Vercel deployment configuration Keep frontend-only architecture for static hosting --- backend/.env.example | 22 - backend/.gitignore | Bin 118 -> 0 bytes backend/README.md | 239 --- backend/middleware/asyncHandler.js | 4 - backend/middleware/errorHandlers.js | 65 - backend/middleware/logger.js | 23 - backend/middleware/validation.js | 84 - backend/package-lock.json | 1351 ----------------- backend/package.json | 29 - backend/server.js | 123 -- backend/services/emailService.js | 195 --- backend/templates/emailTemplates.js | 158 -- backend/test-email.js | 40 - package-lock.json | 20 +- package.json | 1 - src/app/AppRouter.tsx | 2 + src/assets/icarace.PNG | Bin 0 -> 519666 bytes src/components/ThemeToggle.tsx | 16 +- src/components/layout/Footer.tsx | 12 +- src/components/layout/Navigation.tsx | 18 +- src/components/sections/ContactSection.tsx | 502 ++---- src/components/sections/ProjectsSection.tsx | 39 +- src/config/api.ts | 9 +- src/config/texts.ts | 381 +++++ src/pages/ImprintPage.tsx | 95 +- src/pages/PrivacyPolicy.tsx | 50 +- src/scss/sections/about-section.scss | 13 +- src/scss/sections/certifications-section.scss | 9 +- src/scss/sections/contact-section.scss | 355 ++++- src/scss/sections/projects-section.scss | 11 +- src/scss/sections/services-section.scss | 25 +- src/scss/sections/skills-section.scss | 49 +- src/scss/themes/_base.scss | 77 +- src/scss/themes/_contact.scss | 90 +- src/scss/themes/_index.scss | 166 +- src/scss/variables.scss | 32 + 36 files changed, 1333 insertions(+), 2972 deletions(-) delete mode 100644 backend/.env.example delete mode 100644 backend/.gitignore delete mode 100644 backend/README.md delete mode 100644 backend/middleware/asyncHandler.js delete mode 100644 backend/middleware/errorHandlers.js delete mode 100644 backend/middleware/logger.js delete mode 100644 backend/middleware/validation.js delete mode 100644 backend/package-lock.json delete mode 100644 backend/package.json delete mode 100644 backend/server.js delete mode 100644 backend/services/emailService.js delete mode 100644 backend/templates/emailTemplates.js delete mode 100644 backend/test-email.js create mode 100644 src/assets/icarace.PNG create mode 100644 src/config/texts.ts diff --git a/backend/.env.example b/backend/.env.example deleted file mode 100644 index 2475d9a..0000000 --- a/backend/.env.example +++ /dev/null @@ -1,22 +0,0 @@ -# Server Configuration -PORT=3001 -NODE_ENV=development - -# Email Configuration (Gmail example) -EMAIL_SERVICE=gmail -EMAIL_HOST=smtp.gmail.com -EMAIL_PORT=587 -EMAIL_SECURE=false -EMAIL_USER=your-email@gmail.com -EMAIL_PASS=your-app-password - -# Recipient Configuration -RECIPIENT_EMAIL=your-email@gmail.com -RECIPIENT_NAME=Your Name - -# Frontend URL (for CORS) -FRONTEND_URL=http://localhost:5173 - -# Rate Limiting -RATE_LIMIT_WINDOW_MS=900000 -RATE_LIMIT_MAX_REQUESTS=5 diff --git a/backend/.gitignore b/backend/.gitignore deleted file mode 100644 index e9d6196c61a61ca825cf68f43d6fc7c5c703bc73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmYj}NeX~45CrS&Q#_1M5{V*$PJ-L>)s6_})HPFd-