name = "Software Architecture Questionnaire"
description = "Determine optimal architecture for your project"

[[sections]]
title = "Project Information"
description = "Basic details about your project"

[[sections.elements]]
name = "project_name"
type = "text"
prompt = "Project name"
required = true
placeholder = "My Amazing App"

[[sections.elements]]
name = "project_type"
type = "select"
prompt = "Project type"
required = true
options = [
  { value = "web_app", label = "Web Application" },
  { value = "mobile_app", label = "Mobile App" },
  { value = "api", label = "REST/GraphQL API" },
  { value = "microservices", label = "Microservices Platform" },
  { value = "data_pipeline", label = "Data Pipeline" },
  { value = "iot", label = "IoT System" },
]

[[sections.elements]]
name = "team_size"
type = "text"
prompt = "Team size (number of developers)"
required = true
placeholder = "5"

[[sections]]
title = "Scale Requirements"
description = "How large will your application grow?"

[[sections.elements]]
name = "concurrent_users"
type = "text"
prompt = "Expected concurrent users"
required = true
placeholder = "10000"

[[sections.elements]]
name = "daily_active_users"
type = "text"
prompt = "Daily active users (DAU)"
required = true
placeholder = "100000"

[[sections.elements]]
name = "data_volume"
type = "select"
prompt = "Expected data volume"
required = true
options = [
  { value = "small", label = "< 1 GB" },
  { value = "medium", label = "1 GB - 1 TB" },
  { value = "large", label = "1 TB - 100 TB" },
  { value = "huge", label = "> 100 TB" },
]

[[sections]]
title = "Technology Constraints"
description = "What are your limitations?"

[[sections.elements]]
name = "deployment_platform"
type = "multiselect"
prompt = "Deployment platforms"
required = true
min_selected = 1
options = [
  { value = "aws", label = "AWS" },
  { value = "gcp", label = "Google Cloud" },
  { value = "azure", label = "Azure" },
  { value = "kubernetes", label = "Kubernetes (self-managed)" },
  { value = "heroku", label = "Heroku" },
  { value = "on_premise", label = "On-premise" },
]

[[sections.elements]]
name = "budget"
type = "select"
prompt = "Annual infrastructure budget"
required = true
options = [
  { value = "startup", label = "< $10K" },
  { value = "small", label = "$10K - $100K" },
  { value = "medium", label = "$100K - $1M" },
  { value = "large", label = "> $1M" },
]

[[sections]]
title = "Performance Requirements"
description = "What are your performance goals?"

[[sections.elements]]
name = "target_latency"
type = "select"
prompt = "Target API response time"
required = true
options = [
  { value = "best_effort", label = "Best effort" },
  { value = "500ms", label = "< 500ms" },
  { value = "200ms", label = "< 200ms" },
  { value = "100ms", label = "< 100ms" },
  { value = "50ms", label = "< 50ms" },
]

[[sections.elements]]
name = "availability_requirement"
type = "select"
prompt = "Required availability"
required = true
options = [
  { value = "99.0", label = "99.0% (9 hours down/year)" },
  { value = "99.9", label = "99.9% (43 min down/year)" },
  { value = "99.99", label = "99.99% (4 min down/year)" },
  { value = "99.999", label = "99.999% (26 sec down/year)" },
]

[[sections]]
title = "Features & Capabilities"
description = "What features are essential?"

[[sections.elements]]
name = "features"
type = "multiselect"
prompt = "Required features"
required = true
min_selected = 1
options = [
  { value = "real_time", label = "Real-time updates (WebSocket)" },
  { value = "offline", label = "Offline-first capability" },
  { value = "multi_tenancy", label = "Multi-tenancy support" },
  { value = "search", label = "Full-text search" },
  { value = "analytics", label = "Analytics & reporting" },
  { value = "file_storage", label = "Large file storage" },
]

[[sections.elements]]
name = "compliance"
type = "multiselect"
prompt = "Compliance requirements"
options = [
  { value = "gdpr", label = "GDPR" },
  { value = "hipaa", label = "HIPAA" },
  { value = "soc2", label = "SOC 2" },
  { value = "pci_dss", label = "PCI DSS" },
  { value = "iso27001", label = "ISO 27001" },
]
