No description
Find a file
nickviljoen 564ee96ac7 Fix selectedClient persistence bug on page refresh
Issue: When refreshing the page after selecting a client, saved files
would not display because init() was called without await, causing a
race condition where loadSavedFiles() could execute before selectedClient
was properly set.

Fix: Added await to init() call in DOMContentLoaded handler (line 3280)
to ensure init() completes before continuing. This guarantees that
loadSavedFiles() is called after selectedClient is properly set.

Also added debug logging to trace selectedClient value through the
initialization process for easier troubleshooting.

Testing: After this fix, refreshing the page should properly restore
the selected client and display their saved files.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 12:15:32 +02:00
__pycache__ Updated tool discriptions 2025-12-06 14:54:36 +02:00
backend Create L'Oréal Static profile and update client configurations 2026-02-02 11:59:47 +02:00
config updates 2025-11-06 09:40:34 +02:00
frontend Create frontend and backend folder structure for deployment 2025-11-06 11:55:53 +02:00
output Have created Dev and Prod enviroments to test locally 2025-09-11 21:58:44 +02:00
uploads updates 2025-11-06 09:40:34 +02:00
.gitignore diagnostic test 2026-01-19 22:17:18 +02:00
ai_qc.service Add production deployment migration guide and configuration files 2025-11-06 11:45:31 +02:00
apache_config.conf Add production deployment migration guide and configuration files 2025-11-06 11:45:31 +02:00
AUTH_FIX_GUIDE.md diagnostic test 2026-01-19 22:17:18 +02:00
backend_backup_20251206_153116.tar.gz Improvements to Prod vs Dev testing 2025-12-06 15:39:13 +02:00
CLAUDE.md Add comprehensive production deployment documentation 2025-11-06 23:23:02 +02:00
CLEANUP_SUMMARY.md initial commit 2025-08-12 14:52:49 -05:00
config.env SSO Added 2025-08-20 15:30:29 +02:00
debug_mode.txt Updated UI for creating profiles and profile discriptions 2025-12-06 14:32:47 +02:00
DEPLOYMENT_RESTRUCTURE.md Add production deployment migration guide and configuration files 2025-11-06 11:45:31 +02:00
DEPLOYMENT_STEPS.md UI Update to be more BTG look and feel 2025-11-15 10:52:52 +02:00
DEV_PROD_SETUP.md Have created Dev and Prod enviroments to test locally 2025-09-11 21:58:44 +02:00
FOLDER_STRUCTURE.md Create frontend and backend folder structure for deployment 2025-11-06 11:55:53 +02:00
headless_curl_examples.sh initial commit 2025-08-12 14:52:49 -05:00
MIGRATION_CHECKLIST.md Add production deployment migration guide and configuration files 2025-11-06 11:45:31 +02:00
MIGRATION_GUIDE.md Add production deployment migration guide and configuration files 2025-11-06 11:45:31 +02:00
MIGRATION_SUMMARY.md Add production deployment migration guide and configuration files 2025-11-06 11:45:31 +02:00
msal_pkce_flow.md SSO Added 2025-08-20 15:30:29 +02:00
README.md Improvements to Prod vs Dev testing 2025-12-06 15:39:13 +02:00
REORGANIZATION_COMPLETE.md Add reorganization completion summary document 2025-11-06 11:57:31 +02:00
requirements.txt Add production deployment migration guide and configuration files 2025-11-06 11:45:31 +02:00
server.log initial commit 2025-08-12 14:52:49 -05:00
server_debug.log initial commit 2025-08-12 14:52:49 -05:00
web_ui.html Fix selectedClient persistence bug on page refresh 2026-02-02 12:15:32 +02:00

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

  1. Navigate to backend/
  2. Make your changes
  3. Test locally with ./scripts/run-local.sh
  4. Commit and push
  5. Deploy to production: git pull on server

🚀 Always work in the backend/ directory!