feat: Add v2 architecture with multi-state support and orchestrator services

Major additions:
- Multi-state expansion: states table, StateSelector, NationalDashboard, StateHeatmap, CrossStateCompare
- Orchestrator services: trace service, error taxonomy, retry manager, proxy rotator
- Discovery system: dutchie discovery service, geo validation, city seeding scripts
- Analytics infrastructure: analytics v2 routes, brand/pricing/stores intelligence pages
- Local development: setup-local.sh starts all 5 services (postgres, backend, cannaiq, findadispo, findagram)
- Migrations 037-056: crawler profiles, states, analytics indexes, worker metadata

Frontend pages added:
- Discovery, ChainsDashboard, IntelligenceBrands, IntelligencePricing, IntelligenceStores
- StateHeatmap, CrossStateCompare, SyncInfoPanel

Components added:
- StateSelector, OrchestratorTraceModal, WorkflowStepper

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Kelly
2025-12-07 11:30:57 -07:00
parent 8ac64ba077
commit b4a2fb7d03
248 changed files with 60714 additions and 666 deletions

View File

@@ -1,9 +1,9 @@
services:
postgres:
image: postgres:15-alpine
container_name: dutchie-postgres
container_name: cannaiq-postgres
environment:
POSTGRES_DB: dutchie_menus
POSTGRES_DB: dutchie_legacy
POSTGRES_USER: dutchie
POSTGRES_PASSWORD: dutchie_local_pass
ports:
@@ -38,11 +38,12 @@ services:
build:
context: ./backend
dockerfile: Dockerfile.dev
container_name: dutchie-backend
container_name: cannaiq-backend
environment:
NODE_ENV: development
PORT: 3000
DATABASE_URL: "postgresql://dutchie:dutchie_local_pass@postgres:5432/dutchie_menus"
# Canonical CannaiQ database connection (NOT DATABASE_URL)
CANNAIQ_DB_URL: "postgresql://dutchie:dutchie_local_pass@postgres:5432/dutchie_legacy"
MINIO_ENDPOINT: minio
MINIO_PORT: 9000
MINIO_ACCESS_KEY: minioadmin