* Fix ActivityFeed: Remove dynamic import that was causing it to disappear in production
* Fix ActivityFeed hydration error: Move localStorage read to useEffect to prevent server/client mismatch
* Update Node.js version to 25 in Gitea workflows
- Fix EBADENGINE error for camera-controls@3.1.2 which requires Node.js >=22
- Update production-deploy.yml, dev-deploy.yml, and ci-cd-with-gitea-vars.yml.disabled
- Node.js v25 matches local development environment
* Update Dockerfile to use Node.js 25
- Update base image from node:20 to node:25
- Matches Gitea workflow configuration and camera-controls@3.1.2 requirements
* Fix production deployment: Start database dependencies
- Remove --no-deps flag which prevented postgres and redis from starting
- Remove --build flag as image is already built in previous step
- This fixes 'Can't reach database server at postgres:5432' error
* Fix postgres health check in production
- Remove init-db.sql volume mount (not available in CI/CD environment)
- Init script not needed as Prisma handles schema migrations
- Postgres will initialize empty database automatically
* Fix cache permission error in Docker container
- Create cache directories AFTER copying standalone files
- Create both fetch-cache and images subdirectories
- Set proper ownership for nextjs user
- Fixes EACCES permission denied errors for prerender cache
* Fix German jogging fallback text
* Use Directus content in production
* fix: Security vulnerability - block malicious file requests
* fix: Switch projects to Directus, add security fixes and example projects
- Created setup-directus-collections.js to automate the creation of tech stack collections, fields, and relations in Directus.
- Created setup-directus-hobbies.js for setting up hobbies collection with translations.
- Created setup-directus-projects.js for establishing projects collection with comprehensive fields and translations.
- Added setup-tech-stack-directus.js to populate tech_stack_items with predefined data.
feat(api): require session authentication for admin routes and improve error handling
fix(api): streamline project image generation by fetching data directly from the database
fix(api): optimize project import/export functionality with session validation and improved error handling
fix(api): enhance analytics dashboard and email manager with session token for admin requests
fix(components): improve loading states and dynamic imports for better user experience
chore(security): update Content Security Policy to avoid unsafe-eval in production
chore(deps): update package.json scripts for consistent environment handling in linting and testing
✅ Updated Middleware Logic:
- Enhanced admin route protection with Basic Auth for legacy routes and session-based auth for `/manage` and `/editor`.
✅ Improved Admin Panel Styles:
- Added glassmorphism styles for admin components to enhance UI aesthetics.
✅ Refined Rate Limiting:
- Adjusted rate limits for admin dashboard requests to allow more generous access.
✅ Introduced Analytics Reset API:
- Added a new endpoint for resetting analytics data with rate limiting and admin authentication.
🎯 Overall Improvements:
- Strengthened security and user experience for admin functionalities.
- Enhanced visual design for better usability.
- Streamlined analytics management processes.
✅ Updated Admin Dashboard URL:
- Changed the Admin Dashboard access path from `/admin` to `/manage` in multiple files for consistency.
✅ Enhanced Middleware Authentication:
- Updated middleware to protect new admin routes including `/manage` and `/dashboard`.
✅ Implemented CSRF Protection:
- Added CSRF token generation and validation for login and session validation routes.
✅ Introduced Rate Limiting:
- Added rate limiting for admin routes and CSRF token requests to enhance security.
✅ Refactored Admin Page:
- Created a new admin management page with improved authentication handling and user feedback.
🎯 Overall Improvements:
- Strengthened security measures for admin access.
- Improved user experience with clearer navigation and feedback.
- Streamlined authentication processes for better performance.
- Add auto-deploy.sh script with full CI/CD pipeline
- Add quick-deploy.sh for fast development deployments
- Add Git post-receive hook for automatic deployment on push
- Add comprehensive deployment documentation
- Add npm scripts for easy deployment management
- Include health checks, logging, and cleanup
- Support for automatic rollback on failures
* ✨ chore: update CI workflow to include testing and multi-arch build (#29)
* ✨ chore: remove unused dependencies from package-lock.json and updated to a better local dev environment (#30)
* ✨ test: add unit tests
* ✨ test: add unit tests for whole project
* ✨ feat: add whatwg-fetch for improved fetch support
* ✨ chore: update Node.js version to 22 in workflow
* ✨ refactor: update types and improve email handling tests
* ✨ refactor: remove unused imports
* ✨ fix: normalize image name to lowercase in workflows
* ✨ fix: ensure Docker image names are consistently lowercase
* ✨ chore: update
* ✨ chore: update base URL to use secret variable
* ✨ chore: update to login to ghcr
* ✨ fix: add missing 'fi' to close if statement in workflow