mirror of
https://github.com/thecyberlearn/quantum-ai-v3.git
synced 2026-08-18 17:32:57 +00:00
## Complete Scalable Architecture Implementation **Problem Solved**: CyberSec Career Navigator was broken (empty form → JotForm URL webhook) **Solution**: Built generic direct access architecture for unlimited external form agents ## New Architecture Features **🎯 Direct Access Agents (External Forms):** - Generic view functions work for ANY direct access agent - Database-driven routing via access_url_name/display_url_name fields - Template automatically detects and redirects to external forms - Zero code changes needed for new direct access agents **🔧 Webhook Agents (Dynamic Processing):** - Existing webhook agents work exactly as before (unchanged) - Dynamic form generation and N8N processing preserved - Zero impact on current functionality ## Files Added/Modified **Views** (): - `direct_access_handler()` - Generic payment & access processing - `direct_access_display()` - Generic external form display **URLs** (): - Generic routing: `<slug>/access/` and `<slug>/display/` - Works for any agent with access_url_name configured **Template** (): - Conditional logic: `{% if agent.access_url_name %}` - Direct access → "Start Consultation" button → External form - Webhook → Dynamic form (unchanged) **Migration** (): - Adds access_url_name and display_url_name fields to Agent model **Agent Config** (): - Updated to use generic direct access URLs ## Scalability Achievement **Ready for 100+ Agents:** - ✅ New webhook agent: Database record with empty access_url_name - ✅ New direct access agent: Database record with generic access_url_name - ✅ Zero code changes needed for new agents - ✅ Template automatically handles both types - ✅ Database-driven routing eliminates hardcoded URLs ## Expected Results **After Railway Deployment:** - CyberSec Career Navigator: "Start Consultation (FREE)" → Direct JotForm - All webhook agents: Continue working exactly as before - System ready for unlimited agents of both types 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
60 lines
3.2 KiB
Python
60 lines
3.2 KiB
Python
from django.core.management.base import BaseCommand
|
|
from agents.models import AgentCategory, Agent
|
|
|
|
class Command(BaseCommand):
|
|
help = 'Create CyberSec Career Navigator agent with JotForm integration'
|
|
|
|
def handle(self, *args, **options):
|
|
# Create Career & Education category
|
|
career_category, created = AgentCategory.objects.get_or_create(
|
|
slug='career-education',
|
|
defaults={
|
|
'name': 'Career & Education',
|
|
'description': 'Professional career guidance and educational resources',
|
|
'icon': '🎓'
|
|
}
|
|
)
|
|
|
|
if created:
|
|
self.stdout.write(self.style.SUCCESS(f'Created category: {career_category.name}'))
|
|
else:
|
|
self.stdout.write(f'Category already exists: {career_category.name}')
|
|
|
|
# Create CyberSec Career Navigator agent
|
|
cybersec_agent, created = Agent.objects.get_or_create(
|
|
slug='cybersec-career-navigator',
|
|
defaults={
|
|
'name': 'CyberSec Career Navigator',
|
|
'short_description': 'Get personalized cybersecurity career guidance from AI expert Jessica',
|
|
'description': 'Navigate your cybersecurity career path with expert AI guidance. Whether you\'re starting out, changing careers, or advancing in cybersecurity, get personalized advice on certifications, job roles, skills development, and career progression. Jessica, your AI career consultant, provides tailored recommendations based on your experience level and goals.',
|
|
'category': career_category,
|
|
'price': 12.0,
|
|
'agent_type': 'form',
|
|
'form_schema': {
|
|
'fields': [] # Empty since we're using JotForm directly
|
|
},
|
|
'webhook_url': 'https://agent.jotform.com/019865a942ab7fa5b5b743a5fd2abe09e345',
|
|
'access_url_name': 'agents:direct_access_handler',
|
|
'display_url_name': 'agents:direct_access_display'
|
|
}
|
|
)
|
|
|
|
if created:
|
|
self.stdout.write(self.style.SUCCESS(f'Created agent: {cybersec_agent.name}'))
|
|
self.stdout.write(f' 📝 Description: {cybersec_agent.short_description}')
|
|
self.stdout.write(f' 💰 Price: {cybersec_agent.price} AED')
|
|
self.stdout.write(f' 🔗 JotForm URL: {cybersec_agent.webhook_url}')
|
|
self.stdout.write(f' 📂 Category: {cybersec_agent.category.name}')
|
|
else:
|
|
self.stdout.write(f'Agent already exists: {cybersec_agent.name}')
|
|
|
|
self.stdout.write('')
|
|
self.stdout.write(self.style.SUCCESS('✅ CyberSec Career Navigator setup completed successfully'))
|
|
self.stdout.write('')
|
|
self.stdout.write('🚀 Next steps:')
|
|
self.stdout.write(' 1. Agent will appear in the Career & Education category')
|
|
self.stdout.write(' 2. Users will pay 12 AED and get direct access to JotForm interface')
|
|
self.stdout.write(' 3. Visit /agents/cybersec-career-navigator/ to test the interface')
|
|
self.stdout.write('')
|
|
self.stdout.write(f'Agent ID: {cybersec_agent.id}')
|
|
self.stdout.write(f'Agent Slug: {cybersec_agent.slug}') |