ai_qc/backend/visual_qc_apps/layer_organization/app.py
nickviljoen 3fec052c12 Create frontend and backend folder structure for deployment
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>
2025-11-06 11:55:53 +02:00

52 lines
No EOL
2.2 KiB
Python
Executable file

import os
import sys
# Add parent directory to path to import shared modules
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
from visual_qc_apps.flask_app_template import FlaskAppTemplate
class LayerOrganizationApp(FlaskAppTemplate):
"""
Layer Organization Check
"""
def __init__(self):
# Define the hardcoded prompt
prompt = """You are performing a visual quality-control check on a digital design file. Your task is to analyze the image and determine if there are any visible indicators of poor layer organization.
STEPS TO EVALUATE:
1. Look for any artifacts or inconsistencies that might indicate poor layer organization:
- Unexplained pixel artifacts where elements meet
- Inconsistent shadows or lighting effects across similar elements
- Elements that appear to be misaligned or awkwardly positioned
- Visible selection boundaries or unfinished mask edges
- Random white or transparent pixels at the edge of elements
- Inconsistent spacing between similar elements
2. Check for any visible layer panel or layer names in the design:
- Generic layer names (Layer 1, Layer 2)
- Unorganized or non-grouped layers
- Missing layer organization structure
3. Determine whether the visual presentation appears to have suffered from poor layer management
YOUR OUTPUT:
• State whether you could determine the layer organization status
• If determinable, state whether the design "passes" (no visible layer organization issues) or "fails" (shows visible problems with layer management)
• If you cannot determine the layer organization from the image alone, explain why
• Include a JSON code block with these fields:
{
"layer_organization_determinable": true or false,
"layer_organization_check": "Pass" or "Fail" or "Not applicable",
"issues_detected": ["List specific issues if applicable, else an empty array"],
"recommendations": ["List specific recommendations if applicable, else an empty array"]
}"""
# Initialize the Flask app with the prompt
super().__init__(__name__, prompt)
# Run the app if executed directly
if __name__ == "__main__":
app = LayerOrganizationApp()
app.run(debug=True)