Aplikace pro dlouhodobé sledování a analýzu cenové hladiny produktů

Abstract
Práce se zaměřuje na tvorbu aplikace pro sledování cen produktůonline. Byly využity dva největší eshopy jako zdroje dat - Ebaya Amazon, protože mají API a mají největší sortiment. Součástíaplikace je i rozšiřování skupiny sledovaných produktů, což představovalo největší programátorský problém. Tento proces spoléhávýhradně na Ebay a produkty ze sekce Ostatní také prohlíželia snaží se vybrat jeden název z této sady názvů produktů, kterýby měl být právě ten jiný, alternativní produkt. Tento problém bylnejprve řešen vzdáleností řetězců, která nebyla schopna dobře odlišit různé verze produtků. Například názvy Samsung Galaxy S6a Samsung Galaxy S7 představovaly pro vzdálenost řetězců relativně nízkou odlišnost. Použitou metodou se stala frekvenční analýza zohledňující pozici slova v názvu a její implementace zabralaznačnou část úsilí. Celkově proces objevení nového produktu mělpravděpodobnost úspěchu přibližně 30%. Tato pravděpodobnostbyla ovlivněna několika faktory. V metodách aplikace bylo použitoněkolik parametrů, které by bylo vhodné lépe nastavit. Mimo tose odlišný produkt v sadě podobných produktů nemusí vůbec nacházet. Serverová část aplikace byla napsána v JavaScriptu pro Node.js.Při tvorbě byla kladen důraz na co největší využití syntaxe z novýchstandardů jazyka, zejména klíčová slova async a await, která pochází z ECMAScript 2017 standardu. Pro ukládání dat byla použitaMySQL databáze, která byla nejprve navržena v softwaru MySQLWorkbench. Uživatelská část aplikace byla vytvořena ve framerowku Polymer. Uživatelskou částí se tedy stala jednostránkováwebová aplikace zobrazující přehled všech produktů. Pro každý produkt jsou zobrazeny grafy minimální, maximální, průměrné cenya graf dostupnosti produktu.
This work concentrates on creating the application for monitoringof product prices online. The picked sources of prices are Ebay andAmazon because of their APIs and amount of products listed. Thebiggest problem was encountered when programming the processof expanding the group of products being monitored. This process entirely relies on Ebay and sources its data from the Othersalso viewedsection. The goal is to pick the most different productname from this set of suggested products. There was an attempt touse string distance methods for this picking, but it turned out tobe unable to calculate a requested high distance between SamsungGalaxy S6 and Samsung Galaxy S7. The method used after thatwas frequency analysis taking word position into account. Creatingand debugging of this method took quite some effort. The overallprobability of discovering new product turned of to be near 30%,additional tweaking of a few internal parameters could increase theprobability. Apart from that a different product is not always inthe set, which lowers the probability as well. The server side application was written in JavaScript for Node.js. There was a substantial effort to use as much new syntax as possible, especially asyncand await keywords, which come from ECMAScript 2017 specification. MySQL database was used to store the data, the databasewas designed in MySQL Workbench first. The user application wascreated as a single page web app using Polymer framework. Theuser application shows an overview of all the monitored products.Charts of lowest, highest and average prices as well as availability charts can be displayed for any product.
Description
Subject(s)
Ebay, Node.js, ECMAScript 2017, Polymer, vzdálenost řetězců, frekvenční analýza, Ebay, Node.js, ECMAScript 2017, Polymer, string distance, frequency analysis
Citation
ISSN
ISBN