ai_qc/backend/visual_qc_apps/imperative_verb/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

50 lines
2.1 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 ImperativeVerbApp(FlaskAppTemplate):
"""
Imperative Verb Check
"""
def __init__(self):
# Define the hardcoded prompt
prompt = """You are tasked with performing a text analysis on a Point of Sale (POS) advertisement to determine if the advertisement text contains any imperative verbs (instructional commands such as "Buy", "Try", "Enjoy", "Discover"). You will validate the presence of imperative verbs according to the criteria below.
CRITERIA TO EVALUATE:
1. Examine the text content of the advertisement.
2. Identify any verbs that are used as commands or instructions directed at the consumer.
3. Consider common imperative verbs like "Buy", "Try", "Enjoy", "Discover", or others that fit the context of providing an instruction.
4. Distinguish these imperative verbs from other verb forms that do not function as commands.
STEPS TO PROCESS:
1. Text Analysis:
2. Scan through the provided text on the advertisement.
3. Look for verbs that are typically used to give commands.
4. Command Identification: Determine if any verbs are used in a commanding or instructive form.
Result Validation:
5. Confirm the context of verbs to confidently classify them as imperative.
YOUR OUTPUT:
1. State whether an imperative verb is present or not.
2. If an imperative verb is present, specify the verb(s) detected.
3. If not, indicate that no imperative verbs were found.
4. Present your findings in the following JSON code structure:
{
"imperative_verb_present": true or false,
"detected_imperative_verbs": ["verb1", "verb2", ...] (only if imperative_verb_present is true)
"checkpoint_result": "Pass" or "Fail"
}"""
# Initialize the Flask app with the prompt
super().__init__(__name__, prompt)
# Run the app if executed directly
if __name__ == "__main__":
app = ImperativeVerbApp()
app.run(debug=True)