- Root README: add Environments section (dev live, prod pending),
replace sandbox-era deploy block with deploy.sh usage, add user
access to Capabilities.
- Backend README: rewrite Admin Panel section for user_access.json
+ User Access tab, add User Access Control feature, replace
Production Deployment with deploy.sh/rollback.sh/health-check.sh,
add the four admin/user_access API endpoints.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8 clients, 14 profiles, 75 checks. Added documentation for video QC,
OCR measurements, media plans, PDF processing, admin panel, client
configuration, and all current API endpoints.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Added comprehensive migration documentation and configuration files for restructuring the application to split frontend/backend:
New Documentation:
- MIGRATION_GUIDE.md: Complete step-by-step migration instructions
- MIGRATION_SUMMARY.md: Quick reference guide for deployment
- MIGRATION_CHECKLIST.md: Printable checklist for migration day
- DEPLOYMENT_RESTRUCTURE.md: Architecture overview and benefits
New Configuration Files:
- run_api_server.py: Production WSGI server wrapper using Waitress
- ai_qc.service: Systemd service configuration for backend
- apache_config.conf: Apache virtual host configuration template
Updated Files:
- requirements.txt: Added waitress>=2.1.2 for production WSGI server
- README.md: Added deployment documentation section
Migration Overview:
- Split current monolithic structure into separate frontend/backend
- Move backend to /opt/ai_qc/ (following server standards)
- Keep frontend in /var/www/html/ai_qc/ (single index.html)
- Use Apache reverse proxy to connect frontend to backend API
- Implement systemd service for reliable backend process management
Benefits:
- Improved security (backend code not in web root)
- Better separation of concerns
- Follows industry best practices
- Matches existing server app patterns (/opt/veo3, /opt/voice2text)
- Easier independent updates of frontend/backend
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>