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:
57
backend/src/dutchie-az/services/analytics/index.ts
Normal file
57
backend/src/dutchie-az/services/analytics/index.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
/**
|
||||
* Analytics Module Index
|
||||
*
|
||||
* Exports all analytics services for CannaiQ dashboards.
|
||||
*
|
||||
* Phase 3: Analytics Dashboards
|
||||
*/
|
||||
|
||||
export { AnalyticsCache, cacheKey, type CacheEntry, type CacheConfig } from './cache';
|
||||
|
||||
export {
|
||||
PriceTrendService,
|
||||
type PricePoint,
|
||||
type PriceTrend,
|
||||
type PriceSummary,
|
||||
type PriceCompressionResult,
|
||||
type PriceFilters,
|
||||
} from './price-trends';
|
||||
|
||||
export {
|
||||
PenetrationService,
|
||||
type BrandPenetration,
|
||||
type PenetrationTrend,
|
||||
type ShelfShare,
|
||||
type BrandPresenceByState,
|
||||
type PenetrationFilters,
|
||||
} from './penetration';
|
||||
|
||||
export {
|
||||
CategoryAnalyticsService,
|
||||
type CategoryGrowth,
|
||||
type CategorySummary,
|
||||
type CategoryGrowthTrend,
|
||||
type CategoryHeatmapData,
|
||||
type SeasonalityPattern,
|
||||
type CategoryFilters,
|
||||
} from './category-analytics';
|
||||
|
||||
export {
|
||||
StoreChangeService,
|
||||
type StoreChangeSummary,
|
||||
type StoreChangeEvent,
|
||||
type BrandChange,
|
||||
type ProductChange,
|
||||
type CategoryLeaderboard,
|
||||
type StoreFilters,
|
||||
} from './store-changes';
|
||||
|
||||
export {
|
||||
BrandOpportunityService,
|
||||
type BrandOpportunity,
|
||||
type PricePosition,
|
||||
type MissingSkuOpportunity,
|
||||
type StoreShelfShareChange,
|
||||
type CompetitorAlert,
|
||||
type MarketPositionSummary,
|
||||
} from './brand-opportunity';
|
||||
Reference in New Issue
Block a user