// case study
Vyhledávač letenek s vlastním systémem pravidel
Nástroj, který denně stahuje dostupnost letenek z externího API, hodnotí nabídky podle konfigurovatelných pravidel v samostatných souborech a řadí je podle vypočtené hodnoty — a umí říct, proč je konkrétní nabídka nahoře.
Problém
Nabídek letenek jsou tisíce a mění se každý den. Ruční procházení nedává smysl a hotové vyhledávače řadí podle svých kritérií, ne podle našich. Chtěli jsme nástroj, kterému řekneme, co pro nás znamená „dobrá nabídka”, a on to bude denně hlídat.
Řešení
Vyhledávač denně stahuje dostupnost z externího API a každou nabídku ohodnotí podle pravidel, která žijí v samostatných souborech mimo kód — změna kritéria nevyžaduje sáhnout do aplikace. Výsledky řadí podle vypočtené hodnoty, hlídá limity dotazů na API, cachuje výsledky a u každé nabídky umí říct, proč skončila nahoře.
Největší výzva
Udržet hodnocení deterministické a vysvětlitelné, i když se pravidla mění. Je to v malém přesně architektura, kterou navrhujeme klientům pro větší produkty: externí data, oddělená pravidla mimo kód, deterministické hodnocení a výsledek, který se dá doložit.
Interní produkt — stavíme ho pro sebe a slouží nám jako živý polygon pro architekturu pravidlových systémů.