Organized the application into separate frontend and backend directories for cleaner deployment and better separation of concerns. Frontend Directory (frontend/): - index.html: Single-page web interface (renamed from web_ui.html) - README.md: Frontend deployment guide - Total size: ~113 KB (self-contained) - Smart base path detection (works at / or /ai_qc/) - No configuration changes required Backend Directory (backend/): - All Python files (api_server.py, llm_config.py, etc.) - visual_qc_apps/: 33 QC check modules - profiles/: 6 QC profile configurations - brand_guidelines/: Reference asset storage - config/: Environment configurations - scripts/: Deployment automation - uploads/, output/: Data directories - requirements.txt, ai_qc.service, apache_config.conf - Complete documentation New Documentation: - FOLDER_STRUCTURE.md: Comprehensive guide to new structure - frontend/README.md: Frontend deployment instructions - backend/BACKEND_README.md: Backend deployment guide Deployment Mapping: - frontend/ → /var/www/html/ai_qc/ (web root) - backend/ → /opt/ai_qc/ (application directory) Benefits: - Clear separation of concerns - Backend code not in web-accessible directory - Independent frontend/backend updates - Matches server's existing patterns (/opt/veo3, /opt/voice2text) - Industry-standard architecture - Easy to deploy and maintain Original files preserved in root directory for reference. Ready for production deployment following MIGRATION_GUIDE.md. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2.6 KiB
2.6 KiB
Visual AI QC - Backend
This directory contains the complete backend application for the Visual AI QC platform.
Contents
Core Application Files
api_server.py- Main Flask application with REST API endpointsrun_api_server.py- Production server wrapper using Waitress WSGIllm_config.py- LLM (OpenAI/Gemini) configuration and API interactionprofile_config.py- QC profile loading and management system
Authentication & Security
jwt_validator.py- Azure AD JWT token validationauth_middleware.py- Flask authentication middleware with httpOnly cookies
Data & Storage
brand_guidelines_db.py- Brand guidelines database managementvisual_qc_apps/- 33+ QC check modules with standardized interfaceprofiles/- 6 QC profile configurations (JSON)brand_guidelines/- Reference asset storage and metadataconfig/- Environment configuration files
Upload & Output Directories
uploads/- Production file uploads (temporary storage)uploads-dev/- Development file uploadsoutput/- Production generated reports (HTML/JSON)output-dev/- Development generated reports
Deployment & Configuration
requirements.txt- Python dependenciesai_qc.service- Systemd service configurationapache_config.conf- Apache virtual host templatescripts/- Deployment and testing scripts
Deployment Location
On Server: /opt/ai_qc/
This backend should be deployed to /opt/ai_qc/ on the production server, following the standard pattern used by other applications on the server.
Quick Start
Production Deployment
-
Copy to Server
rsync -av backend/ user@server:/opt/ai_qc/ -
Install Dependencies
cd /opt/ai_qc python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
Configure Production
nano config/production.env # Update paths to absolute: # UPLOAD_FOLDER=/opt/ai_qc/uploads # OUTPUT_FOLDER=/opt/ai_qc/output -
Set Permissions
sudo chown -R www-data:www-data /opt/ai_qc sudo chmod -R 750 /opt/ai_qc sudo chmod 770 /opt/ai_qc/uploads /opt/ai_qc/output -
Install Service
sudo cp ai_qc.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable ai_qc sudo systemctl start ai_qc
Related Documentation
- Frontend Setup: See
../frontend/README.md - Complete Migration Guide: See
../MIGRATION_GUIDE.md - Full README: See
README.mdin this directory
Deploy to: /opt/ai_qc/ 🚀