ai_qc/backend/BACKEND_README.md
nickviljoen 3fec052c12 Create frontend and backend folder structure for deployment
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>
2025-11-06 11:55:53 +02:00

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 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

    rsync -av backend/ user@server:/opt/ai_qc/
    
  2. Install Dependencies

    cd /opt/ai_qc
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  3. Configure Production

    nano config/production.env
    # Update paths to absolute:
    # UPLOAD_FOLDER=/opt/ai_qc/uploads
    # OUTPUT_FOLDER=/opt/ai_qc/output
    
  4. 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
    
  5. Install Service

    sudo cp ai_qc.service /etc/systemd/system/
    sudo systemctl daemon-reload
    sudo systemctl enable ai_qc
    sudo systemctl start ai_qc
    
  • 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/ 🚀