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>
90 lines
2.6 KiB
Markdown
90 lines
2.6 KiB
Markdown
# 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/`** 🚀
|