Project-Image-Uploader/docs
matthias.lotz e8ba1e73a0 feat(phase2): Implement Frontend Management Portal & nginx routing (Tasks 12, 20)
Task 12: ManagementPortalPage - Self-Service Portal Implementation
- New page: ManagementPortalPage.js (~650 lines) with token-based auth
- Maximum component reuse (ImageGalleryCard, ImageGallery, DescriptionInput, ConsentBadges)
- Single-page layout without tabs (consistent with ModerationGroupImagesPage)
- All CRUD operations: view, edit metadata, delete images, revoke/restore consents, delete group
- Data transformation: API camelCase → Component snake_case (ConsentBadges compatibility)
- Error handling: 404 invalid token, 429 rate-limit, general errors
- Route added: /manage/:token in App.js

Task 20: nginx Configuration for Management API
- Dev: Proxy /api/manage/* → backend-dev:5000
- Prod: Proxy /api/manage/* → image-uploader-backend:5000
- Headers: Host, X-Real-IP, X-Forwarded-For, X-Forwarded-Proto
- Frontend container rebuilt with new nginx config

Navigation Enhancement (Navbar.js):
- Conditional rendering with useLocation() hook
- Show "Upload" always (active only on /)
- Show "Mein Upload" additionally on /manage/:token (active)
- Both buttons visible simultaneously on management page

Test Results:
 Token validation (404 on invalid)
 API routing through nginx
 ConsentBadges display correctly
 All CRUD operations functional
 Rate-limiting working (429 on excessive requests)
 Navigation highlighting correct
 Component reuse: 0 lines duplicated code

Known Issues (to be fixed in separate bugfix session):
⚠️ Issue 6: ModerationGroupsPage - Filter "Alle Gruppen" not working
⚠️ Issue 7: Export button "Consent-Daten exportieren" not working

Files Changed:
- frontend/src/Components/Pages/ManagementPortalPage.js (NEW)
- frontend/src/App.js (route added)
- frontend/src/Components/ComponentUtils/Headers/Navbar.js (conditional nav)
- docker/dev/frontend/nginx.conf (proxy config)
- docker/prod/frontend/nginx.conf (proxy config)
- docs/FEATURE_PLAN-social-media.md (documentation updated)
2025-11-13 20:05:27 +01:00
..
FEATURE_PLAN-delete-unproved-groups.md docs: Finalize automatic cleanup feature documentation 2025-11-08 14:45:13 +01:00
FEATURE_PLAN-exif-extraction.md docs: Add FEATURE_PLAN for EXIF metadata extraction 2025-11-09 13:30:58 +01:00
FEATURE_PLAN-image-description.md docs: Update documentation for image descriptions feature 2025-11-07 18:39:48 +01:00
FEATURE_PLAN-preload-image.md feat: Slideshow optimization with intelligent preloading and chronological sorting 2025-11-09 13:23:27 +01:00
FEATURE_PLAN-preview-images.md docs: add feature plan for preview images 2025-10-29 23:34:08 +01:00
FEATURE_PLAN-reordering.md docs: update feature plan with completion status 2025-11-03 21:22:15 +01:00
FEATURE_PLAN-social-media.md feat(phase2): Implement Frontend Management Portal & nginx routing (Tasks 12, 20) 2025-11-13 20:05:27 +01:00
REORDERING_IMPLEMENTATION_REPORT.md docs: update README.md with new reordering features 2025-11-03 21:24:29 +01:00
UPGRADE_PLAN-upgrade-deps-react-node-20251028.md docs: complete upgrade documentation with CHANGELOG, smoke tests, and actual timelines 2025-10-29 23:10:21 +01:00