- 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>
95 lines
4 KiB
Markdown
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`
|