Commit Graph
19 Commits
Author SHA1 Message Date
damjan_savic 7ddf3e527d Merge origin/master 2026-01-25 19:46:04 +01:00
damjan_savic b3f2105066 Merge origin/master 2026-01-25 19:39:43 +01:00
damjan_savic 5efdc625a1 Merge origin/master 2026-01-25 19:37:36 +01:00
Damjan SavicandGitHub 26c150352a Merge pull request #11 from damjan1996/auto-claude/021-document-the-scripts-directory-utilities-for-devel
auto-claude: 021-document-the-scripts-directory-utilities-for-devel
2026-01-25 19:27:16 +01:00
damjan_savicandClaude Sonnet 4.5 1f1582f627 auto-claude: subtask-5-1 - E2E verification documentation and middleware fix
Created comprehensive E2E verification framework:
- E2E_VERIFICATION.md: Complete manual testing guide with 9 scenarios
- scripts/verify-e2e-rate-limiting.sh: Automated API testing script
- scripts/test-concurrent-rate-limit.sh: Concurrent request testing
- scripts/reset-rate-limit.sh: Database reset utility for testing
- SUBTASK_5-1_VERIFICATION_REPORT.md: Status and blocker documentation

Fixed middleware configuration:
- Updated src/middleware.ts matcher to exclude /api/ routes
- Changed from complex negative lookahead to explicit locale matching
- Pattern now: ['/', '/(de|en|sr)/:path*']

Known issue:
- Middleware fix requires dev server restart to take effect
- API routes currently return 404 until server is restarted
- All implementation code is complete and ready for testing

Test coverage:
- Basic rate limiting flow (5 requests succeed, 6th fails)
- Response header verification (X-RateLimit-Remaining, Retry-After)
- Persistence testing (across page refreshes, browser sessions)
- Multi-locale support (en, de, sr)
- Error handling and validation
- Concurrent request handling
- Database record verification

Next steps:
1. Restart dev server: npm run dev
2. Run automated tests: bash ./scripts/verify-e2e-rate-limiting.sh
3. Perform manual browser testing per E2E_VERIFICATION.md
4. Verify database records in Supabase
5. Mark subtask as completed

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 12:20:50 +01:00
damjan_savicandClaude Opus 4.5 43484c5023 Add blog posts, cleanup unused files, update components
- Add 100 blog posts covering AI, development, and tech topics
- Add .env.example for environment configuration
- Add accessibility and lighthouse audit scripts
- Remove obsolete SEO reports and temporary files
- Remove dev-dist build artifacts and backup files
- Remove unused portrait images (moved/consolidated elsewhere)
- Update contact form and component improvements

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:42:11 +01:00
damjan_savicandClaude Sonnet 4.5 062e49ca65 auto-claude: subtask-1-2 - Apply migration to Supabase database
Created migration application scripts and comprehensive documentation:
- scripts/apply-migration.js - Automated migration (requires service role key)
- scripts/verify-migration.js - Table verification script
- scripts/test-env.js - Environment diagnostics
- supabase/APPLY_MIGRATION.md - Comprehensive migration guide
- supabase/MIGRATION_INSTRUCTIONS.md - Quick reference

Manual application via Supabase dashboard is recommended approach.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 06:38:29 +01:00
damjan_savicandClaude Sonnet 4.5 ead5b893e7 auto-claude: subtask-1-4 - Document missing scripts referenced in package.json
- Added 'Missing Scripts' section to scripts/README.md
- Documented generate-blog-images.mjs (referenced in package.json but not implemented)
- Included package.json references, description, recommended actions, and impact
- Suggests either removing references or implementing the script with OpenAI API

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 06:37:46 +01:00
damjan_savic e8431af213 auto-claude: subtask-1-1 - Create scripts/README.md with comprehensive documentation 2026-01-25 06:30:54 +01:00
damjan_savic 7044e16911 auto-claude: subtask-1-1 - Add blog post image processing to optimize-images.js
Extended the image optimization script to process both project and blog post images:
- Added constants for posts input/output directories
- Refactored processImage to accept output directory parameter
- Updated processDirectory to handle multiple content types
- Main function now processes both projects and posts directories
- Gracefully handles missing directories with informative messages
2026-01-25 06:24:07 +01:00
damjan_savicandClaude Opus 4.5 5a3692b25f auto-claude: subtask-8-2 - Add Lighthouse audit script for all locales
Create scripts/lighthouse-audit-all-locales.js for comprehensive performance
auditing across all locales (de, en, sr) and key pages (Homepage, About,
Portfolio, Contact).

Features:
- Playwright-Lighthouse integration for local audits
- Tests Performance, Accessibility, Best Practices, and SEO
- Dev mode thresholds (relaxed for expected dev mode behavior)
- Production thresholds reference (90% for all categories)
- Detailed result table and summary
- Pass/fail based on critical thresholds (A11y and BP must pass 90%)

Previous verification (PAGESPEED_VERIFICATION_REPORT.md) confirms:
- Accessibility: 92-100%  PASS
- Best Practices: 100%  PASS
- Performance: 47-69% (expected lower in dev mode)
- SEO: 75-83% (expected lower in dev mode)

Production verification: https://pagespeed.web.dev/

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 02:28:33 +01:00
damjan_savicandClaude Opus 4.5 87c7ebc5e3 feat: Add professional portfolio images and Hero redesign
- Add 15 optimized WebP images for portfolio (21-53KB each)
- Redesign Hero section with full-width background image
- Add SSR support for Hero component
- Update About section with new portrait image
- Update Contact page with professional headshot
- Add images to Services/Leistungen page
- Add image optimization script (sharp)
- Update translations for gallery section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:33:28 +01:00
damjan_savicandClaude Opus 4.5 b1ec7b4d61 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>
2026-01-17 01:00:33 +01:00
damjan_savicandClaude Opus 4.5 090d640e9a Performance: Inter-Font auf 60KB Subset reduziert (vorher 344KB)
- Font Subsetting mit fonttools für Latin + German Zeichen
- 83% Reduktion der Font-Datei
- PageSpeed API Script hinzugefügt

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:05:09 +01:00
damjan_savicandClaude Opus 4.5 4b9e457f4a Performance: Mobile-Optimierungen für besseren PageSpeed
- Portrait-Bild von 1.2MB auf ~20KB optimiert (300px/600px + WebP)
- Hero-Animation entfernt für schnelleren LCP
- WebP srcset für alle Projekt-Bilder (6 Größen: 200-1200px)
- Korrekte sizes-Attribute für Mobile (350px statt 1200px)
- Supabase lazy laden via dynamischen Import
- Admin-Check verzögert mit requestIdleCallback
- Hauptbundle von 461KB auf 358KB reduziert

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 22:02:57 +01:00
damjan_savicandClaude Opus 4.5 588d6e1f17 Performance: PageSpeed Optimierungen implementiert
- LCP-Bild (Portrait) mit fetchpriority="high" und Preload optimiert
- Logo SVG mit expliziten width/height Attributen versehen (CLS)
- Touch-Targets in Experience Navigation von 5px auf 24px vergrößert
- Kontrast für Firmenname/Zeitraum verbessert (zinc-300/zinc-400)
- PWA Service Worker mit script-defer für nicht-blockierendes Laden
- Responsive Bilder: srcset mit 400w/800w/1200w + WebP-Format
- Neues Build-Script für Bildoptimierung (scripts/optimize-images.js)
- Original-Bilder in source-images/ verschoben (gitignored)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 21:14:29 +01:00
damjan_savic 4a4388be64 Implementierung - SEO - 01.08.2025 2025-08-02 02:02:51 +02:00
damjan_savic e69e68242c Implementierung - SEO - 01.08.2025 2025-08-01 20:33:47 +02:00
damjan_savic f176743885 Implementierung - SEO - 01.08.2025 2025-08-01 14:26:05 +02:00