# 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 endpoints - **`run_api_server.py`** - Production server wrapper using Waitress WSGI - **`llm_config.py`** - LLM (OpenAI/Gemini) configuration and API interaction - **`profile_config.py`** - QC profile loading and management system ### Authentication & Security - **`jwt_validator.py`** - Azure AD JWT token validation - **`auth_middleware.py`** - Flask authentication middleware with httpOnly cookies ### Data & Storage - **`brand_guidelines_db.py`** - Brand guidelines database management - **`visual_qc_apps/`** - 33+ QC check modules with standardized interface - **`profiles/`** - 6 QC profile configurations (JSON) - **`brand_guidelines/`** - Reference asset storage and metadata - **`config/`** - Environment configuration files ### Upload & Output Directories - **`uploads/`** - Production file uploads (temporary storage) - **`uploads-dev/`** - Development file uploads - **`output/`** - Production generated reports (HTML/JSON) - **`output-dev/`** - Development generated reports ### Deployment & Configuration - **`requirements.txt`** - Python dependencies - **`ai_qc.service`** - Systemd service configuration - **`apache_config.conf`** - Apache virtual host template - **`scripts/`** - 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 1. **Copy to Server** ```bash rsync -av backend/ user@server:/opt/ai_qc/ ``` 2. **Install Dependencies** ```bash cd /opt/ai_qc python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` 3. **Configure Production** ```bash nano config/production.env # Update paths to absolute: # UPLOAD_FOLDER=/opt/ai_qc/uploads # OUTPUT_FOLDER=/opt/ai_qc/output ``` 4. **Set Permissions** ```bash 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 ``` 5. **Install Service** ```bash 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.md` in this directory --- **Deploy to: `/opt/ai_qc/`** 🚀