ai_qc/README.md
nickviljoen eaf68b1247 Update READMEs for user access control and new deploy flow
- Root README: add Environments section (dev live, prod pending),
  replace sandbox-era deploy block with deploy.sh usage, add user
  access to Capabilities.
- Backend README: rewrite Admin Panel section for user_access.json
  + User Access tab, add User Access Control feature, replace
  Production Deployment with deploy.sh/rollback.sh/health-check.sh,
  add the four admin/user_access API endpoints.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 18:49:24 +02:00

95 lines
4 KiB
Markdown

# Visual AI QC - AI-Powered Quality Control Platform
AI-driven visual quality control for marketing materials and design assets using OpenAI GPT-4o and Google Gemini 2.5 Pro. Analyzes images and video against brand guidelines through **75 QC checks**, **14 profiles**, serving **8 clients**.
## Work in `backend/` Directory
**All development and production code is in the `backend/` directory.**
## Directory Structure
```
ai_qc/
+-- backend/ # MAIN APPLICATION
| +-- api_server.py # Flask application
| +-- llm_config.py # LLM configuration (GPT-4o, Gemini 2.5 Pro)
| +-- ocr_measurement.py # Tesseract OCR layout measurements
| +-- profile_config.py # Profile management
| +-- client_config.py # Client configuration (8 clients)
| +-- pdf_processor.py # PDF brand guideline processing
| +-- media_plan_processor.py # Excel media plan parsing
| +-- usage_tracker.py # Usage tracking and cost estimation
| +-- visual_qc_apps/ # QC check modules (75 checks)
| +-- profiles/ # QC profile configurations (14 profiles)
| +-- brand_guidelines/ # Reference assets and guidelines DB
| +-- scripts/ # Deployment and testing scripts
| +-- config/ # Environment configs
| +-- uploads/ # File uploads (production)
| +-- output/ # Generated reports (production)
| +-- uploads-dev/ # File uploads (development)
| +-- output-dev/ # Generated reports (development)
| +-- usage_logs/ # Usage tracking JSONL logs
| +-- media_plans/ # Uploaded media plans
| +-- web_ui.html # Web interface
| +-- README.md # Full documentation
| +-- CLAUDE.md # Development guide
|
+-- frontend/ # Frontend-only deployment (optional)
+-- CLAUDE.md # Top-level development guide
+-- README.md # This file
```
## Quick Start
### Local Development
```bash
cd backend/
./scripts/run-local.sh
# Access at http://localhost:7183
```
### Deploying to Dev / Prod
Code changes ship through Bitbucket branches (`develop` → dev server, tagged releases on `main` → prod server). Deploys are run manually on each server:
```bash
ssh <server>
cd /opt/ai_qc
backend/scripts/deploy.sh dev # dev — pulls latest develop
backend/scripts/deploy.sh prod v1.2.0 # prod — checks out a specific tag
backend/scripts/deploy.sh dev --dry-run # preview without applying
backend/scripts/rollback.sh last # revert the most recent deploy
backend/scripts/health-check.sh # quick "is it alive?"
```
See `backend/CLAUDE.md` for the full environment / branch / deploy reference.
## Environments
| Env | URL | Branch | Status |
|---|---|---|---|
| Local | `http://localhost:7183` | any | For active development |
| Dev | `https://optical-dev.oliver.solutions/ai_qc/` | `develop` | Live |
| Prod | `https://optical-prod.oliver.solutions/ai_qc/` | `main` (tagged) | Not yet stood up |
## Clients
Diageo, Unilever, L'Oreal, Amazon, Boots, Dow Jones, Honda, General
## Capabilities
- **Image QC**: 75 checks across brand compliance, typography, layout, accessibility
- **Video QC**: Native Gemini video analysis (visual quality, brand consistency, text legibility, pacing)
- **OCR Measurements**: Tesseract pixel-level data for margin and alignment checks
- **PDF Guidelines**: Multi-page PDF upload with automatic LLM summarization
- **Media Plans**: Excel media plan parsing with asset spec validation
- **Enterprise Auth**: Azure AD with MSAL/PKCE and silent token refresh
- **User Access Control**: Default-deny per-user client access with admin grant/revoke and audit log
- **Admin Panel**: Usage analytics, user tracking, cost estimation, access management
- **Profile Versioning**: Automatic version control on profile edits
## Documentation
- **Full Documentation**: See `backend/README.md`
- **Development Guide**: See `backend/CLAUDE.md`
- **Deployment Guide**: See `backend/DEV_PROD_SETUP.md`