Public Persian/RTL storefront for live catalog browsing, global filtering, product comparison, and KPI details supplied by Client API.
Comparator Sandbox
Direct application links, API documentation, health checks, telemetry tools, and local data consoles for the complete Docker Compose environment.
Applications and APIs
Direct host ports exposed for developmentBackend-for-frontend for live catalog search, KPI groups, value distributions, and snapshot-consistent product rankings - proxies the catalog rather than storing one. Also owns feedback, site-config flags, and product-visibility overrides in its own database, including admin-only write endpoints reachable only through api-gateway (see Comparator Admin's Client Web screens).
Manage ProductMatch categories and attributes, onboard products, test explainable recommendations, and inspect engine readiness.
Applies hard constraints and explainable hybrid ranking with configurable Java hash, Python model, or Ollama embeddings.
Serves CPU-only multilingual SentenceTransformers embeddings to ProductMatch while the Java engine retains hard constraints and fallback ranking.
Periodically reconciles processor-rest's categories, KPIs, products, and accepted canonical values into ProductMatch's catalog via its bulk admin API.
Admin panel for source operations, adapter replay, catalog, data quality, normalization, and scoring - plus client/web feedback moderation, site-config flags, product visibility, and admin user management. Requires an admin login (see Identity REST).
Single browser-facing routing and CORS boundary for every backend API family.
Admin-panel audit log. Reachable only through api-gateway, never directly - see ui-admin's Audit Log screen. Accounts, roles, and login are Keycloak's job now.
Controls source workers and exposes capabilities, reports, monitoring, and stored source data.
Generates cursor-based synthetic market events for scraper and adapter integration testing.
Maintains live adapter registrations and proxies replay requests to compatible instances.
Replays Versus phone snapshots, extracts source evidence, and publishes processor entities.
Converts stored feed events into processor data and immutable price and volume observations.
Replays DeviceSpecifications device snapshots and publishes processor entities and observations.
Replays GSMArena phone specification snapshots and publishes processor entities and observations.
Replays Samsung phone product-page snapshots and publishes processor entities and observations.
Replays mobo.news phone product-page snapshots and publishes processor entities and observations.
Owns products, KPIs, evidence observations, conflict resolution, and active canonical values.
Publishes versioned normalization snapshots from active, review-safe canonical KPI values using distributed job leases.
Publishes weighted, coverage-aware product scores and deterministic category rankings pinned to one normalization snapshot.
Fetches public proxy subscriptions, checks real relay accessibility with xray-core, and publishes latency-ranked results.
Keeps a load-balanced pool of Xray tunnels alive, leases healthy routes to scrapers, and quarantines unstable proxies. Browsable in ui-admin under Proxy Manager → Tunnels.
No application services match this filter.
Observability
Metrics, logs, traces, and browser automationDashboards and Explore UI for Prometheus metrics, Loki logs, and Jaeger traces.
adminPasswordadminScrapes every application actuator endpoint and provides PromQL queries.
Receives OpenTelemetry spans over OTLP and visualizes distributed request traces.
Alloy discovers container logs and forwards structured events to Loki for Grafana queries.
Optional Firefox automation grid used by browser-based scraper workers.
No observability services match this filter.
Data services and consoles
Local development credentials are shown on protected servicesRelational storage for processor, normalizer, score-calculator, and other platform services. pgAdmin is available with the tools profile.
postgresDB passwordpostgresDatabasecomparatoradmin@comparator.devPasswordadminDedicated database and persistent volume for client-api feedback; isolated from admin/platform storage.
clientPasswordclientDatabaseclientdbStores scraper snapshots, adapter replay history, and source metadata. Mongo Express is available with the tools profile.
adminPasswordadminS3-compatible object storage for immutable raw scraper artifacts and evidence extraction.
minioadminPasswordminioadminBacks api-gateway's per-IP RequestRateLimiter on the client-api route. Redis Insight (optional inspection UI) needs the redis profile; Redis itself is always up.
OIDC identity provider for Comparator Admin and ProductMatch Admin logins. Imports the `comparator` realm (two SPA clients, `admin-viewer`/`admin-editor`/`admin-admin`/`recommendation-user` roles, and a seeded `admin` user) on first boot.
adminPasswordadmin12345adminPasswordadmin12345Local embedding model server, no external API key. Pulls bge-m3 (1024 dims) on first start; an optional embedding provider for recommendation-rest's semantic ranking (RECOMMENDATION_EMBEDDING_PROVIDER=ollama - the python provider is active by default).
No data services match this filter.