Project-Image-Uploader/frontend
matthias.lotz e4ddd229b8 feat: Public/Internal Host Separation
Implemented subdomain-based feature separation for production deployment.

**Backend:**
- New hostGate middleware for host-based API protection
- Public host blocks: /api/admin, /api/groups, /api/slideshow, /api/auth
- Public host allows: /api/upload, /api/manage, /api/social-media/platforms
- Rate limiting: 20 uploads/hour on public host (publicUploadLimiter)
- Audit log enhancement: source_host, source_type tracking
- Database migration 009: Added source tracking columns

**Frontend:**
- Host detection utility (hostDetection.js) with feature flags
- React code splitting with lazy loading for internal features
- Conditional routing: Internal routes only mounted on internal host
- 404 page: Host-specific messaging and navbar
- Clipboard fallback for HTTP environments

**Configuration:**
- Environment variables: PUBLIC_HOST, INTERNAL_HOST, ENABLE_HOST_RESTRICTION
- Docker dev setup: HOST variables, TRUST_PROXY_HOPS configuration
- Frontend .env.development: DANGEROUSLY_DISABLE_HOST_CHECK for Webpack

**Testing:**
- 20/20 hostGate unit tests passing
- Local testing guide in README.dev.md
- /etc/hosts setup for public.test.local, internal.test.local

**Bug Fixes:**
- Fixed clipboard API not available on HTTP
- Fixed missing PUBLIC_HOST in frontend env-config.js
- Fixed wrong navbar on 404 page for public host
- Fixed social media platforms loading in UUID management

**Documentation:**
- CHANGELOG.md: Complete feature documentation
- README.md: Feature overview
- README.dev.md: Host-separation testing guide
- TESTING-HOST-SEPARATION.md: Integration note
2025-11-25 22:02:53 +01:00
..
public feat(frontend): Ersetze Lottie-Animation durch custom 3D SVG Logo-Animation 2025-11-08 20:58:23 +01:00
src feat: Public/Internal Host Separation 2025-11-25 22:02:53 +01:00
.env.development feat: Public/Internal Host Separation 2025-11-25 22:02:53 +01:00
.env.example feat: Implement public/internal host separation 2025-11-25 20:26:59 +01:00
.gitignore Initial Commit 2025-10-15 21:33:00 +02:00
MIGRATION-GUIDE.md Feature Request: admin session security 2025-11-23 21:18:42 +01:00
package-lock.json fix(frontend): Fix syntax error and remove unused imports 2025-11-16 19:51:36 +01:00
package.json Feature Request: admin session security 2025-11-23 21:18:42 +01:00