Architecture Overview
Architecture Overview
flowchart LR
App[Laravel app] --> Manager[SearchProviderManager]
Manager --> Repo[SearchProviderConfigRepositoryInterface]
Repo --> Model[SearchProviderConfig]
Model --> DB[(search_providers)]
Manager --> Factories[Factory registry]
Factories --> Drivers[Provider drivers]
Drivers --> APIs[External APIs]
Drivers --> Results[SearchResultCollection]
Manager -. optional .-> Logger[SearchEventLoggerInterface]
Components
| Component | Responsibility |
|---|---|
SearchProviderManager |
Orchestration, fallback, skip/failure accounting. |
SearchProviderConfigRepositoryInterface |
Supplies active runtime definitions. |
CallableSearchProviderFactory |
Wraps closures into factory instances. |
| Provider classes | Translate provider-specific APIs into normalized results. |
| Data objects | Stable query, definition, result, and execution contracts. |