No description
Created new L'Oréal Static profile (loreal_static.json): - Focused 3-check profile for L'Oréal digital static assets - Checks: language_consistency, text_readability_general, background_contrast_general - Weighting: 3.34, 3.33, 3.33 (total 10.0 for 100-point scale) - All checks use Gemini LLM Updated client_config.py: - L'Oréal: Added 'loreal_static' profile, kept 'static_general', removed 'general_check' - Diageo: Added 'static_general', removed 'general_check' - Unilever: Added 'static_general', removed 'general_check' - General: Added 'static_general', removed 'general_check' Result: - Static General (10 checks) now available to ALL clients - L'Oréal Static (3 checks) exclusive to L'Oréal - General Check profile removed from all clients (deprecated) Profile distribution by client: - Diageo: diageo_key_visual, diageo_packaging, static_general - Unilever: unilever_key_visual, unilever_packaging, static_general - L'Oréal: loreal_static, static_general - General: static_general, inclusive_accessibility Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| __pycache__ | ||
| backend | ||
| config | ||
| frontend | ||
| output | ||
| uploads | ||
| .gitignore | ||
| ai_qc.service | ||
| apache_config.conf | ||
| AUTH_FIX_GUIDE.md | ||
| backend_backup_20251206_153116.tar.gz | ||
| CLAUDE.md | ||
| CLEANUP_SUMMARY.md | ||
| config.env | ||
| debug_mode.txt | ||
| DEPLOYMENT_RESTRUCTURE.md | ||
| DEPLOYMENT_STEPS.md | ||
| DEV_PROD_SETUP.md | ||
| FOLDER_STRUCTURE.md | ||
| headless_curl_examples.sh | ||
| MIGRATION_CHECKLIST.md | ||
| MIGRATION_GUIDE.md | ||
| MIGRATION_SUMMARY.md | ||
| msal_pkce_flow.md | ||
| README.md | ||
| REORGANIZATION_COMPLETE.md | ||
| requirements.txt | ||
| server.log | ||
| server_debug.log | ||
| web_ui.html | ||
Visual AI QC - Repository Structure
⚠️ Important: Work in backend/ Directory
All development and production code is now in the backend/ directory.
Directory Structure
ai_qc/
├── backend/ # 👈 MAIN APPLICATION - Work here!
│ ├── api_server.py # Flask application
│ ├── llm_config.py # LLM configuration (Gemini model settings)
│ ├── profile_config.py # Profile management
│ ├── visual_qc_apps/ # QC check modules (33 checks)
│ ├── profiles/ # QC profile configurations (6 profiles)
│ ├── brand_guidelines/ # Reference assets
│ ├── scripts/ # Deployment scripts
│ ├── config/ # Environment configs
│ ├── uploads/ # File uploads (production)
│ ├── output/ # Generated reports (production)
│ └── ... # All other application files
│
├── frontend/ # Frontend-only deployment (optional)
├── config/ # Legacy config (deprecated)
└── CLAUDE.md # Development guide
Quick Start
Local Development
cd backend/
./scripts/run-local.sh
# Access at http://localhost:7183
Production Deployment
# SSH to production server
ssh user@server
# Deploy backend to /opt/ai_qc
cd /opt/ai_qc
git pull origin main
cd backend
sudo systemctl restart ai_qc.service
Why This Structure?
Previously, we had duplicate files in both root and backend/ directories, causing sync issues. Now:
✅ Single source of truth: All code in backend/
✅ No sync issues: No duplicate files to keep in sync
✅ Clear structure: Production deploys from backend/
✅ Simpler workflow: One place to make changes
Documentation
- Full Documentation: See
backend/CLAUDE.md - Deployment Guide: See
backend/DEV_PROD_SETUP.md - API Endpoints: See
backend/README.md
Making Changes
- Navigate to
backend/ - Make your changes
- Test locally with
./scripts/run-local.sh - Commit and push
- Deploy to production:
git pullon server
🚀 Always work in the backend/ directory!