V pátek 13. jsem spustil svůj nejnovější projekt jménem Pricetag- jedná se o realtime porovnávač cen na novozélandském trhu. Pro začátek jsem si vybral sortiment knih a to hned z několika důvodů.

  • poslední rok jsem pracoval pro největšího austroasijského prodejce knih jako web developer a jelikož můj zaměstnavatel provozuje i affiliate systém, rozhodl jsem se ho využít
  • dle mých dosavadních zkušeností se knihy jeví jako naprosto ideální produkt pro start - mají jednoznačný identifikátor ve formě ISBN (nebo EAN) díky čemuž je crawlování (neboli získávání cen z webů prodejců) relativně easy a zároveň velké procento kiwíků aktivně čte a neváhá za knihy utratit poměrně velkou částku měsíčně

Projekt jsem postavil na Google App Engine s Javovskou implementací, protože jsem si chtěl zároveň vyzkoušet, jakým způsobem se Google popere s případným velkým množstvím návštěvníků a vzrůstajícím počtu různých requestů (ať už odchozích nebo příchozích). Rád bych si zjistil jak to je doopravdy se škálovatelností takového řešení a proto v současné době nepoužívám žádnou cache ani databázi a veškeré informace stahuji dynamicky z webu.

Pro vyhledávání a pro získávání informace o knihách používám Google Books API, ceny stahuji při každém zobrazení knihy online z webů pomocí AJAX requestů. Získávání cen od dodavatelů a prodejců získávám buď přes jejich API (případ Book Depository nebo třeba Amazonu), případně natvrdo crawlovním jejich webu s pomocí vyhledávání a tak podobně.

Základ systému jsem naprogramoval po večerech během cca 14 dnů, v současnosti mi přidání nového prodejce zabere cca 5 minut (záleží na složitosti získávání informace, v prípadě Amazon API jsem trápil asi hodinku kvůli nedostatku dokumentace). Stránky jsou v současnosti plně funkční a prohledávají 9 prodejců, trošku překvapivé pro mě jsou výsledky kdy se můj bývalý zaměstnavatel umísťuje spíše ve středu pole ačkoliv vždy deklaroval nejlepší ceny pro NZ.

Dalším krokem je propagace stránek - správně i tento článek poslouží svému účelu a tedy získání cenného odkazu. Ale více se chci zaměřit na social networks, převážně na Twitter a Facebook a propagovat stránky výhradně skrze tyto služby. Rád bych sledoval novozélandský Twitter svět a při jakékoliv zmínce o nakupování knih popřípadě jména některého z dodavatelů mít možnost na takový tweet zareagovat s linkem na tuto službu (zároveň nějak odlišit účty kterým už jsem tuto informaci poslal a nespamovat a podobně). Zkusil jsem použít TweetDeck ale neplní to co po něm chci a navíc se mi dost po aplikační stránce nelíbí. Ostatní tooly mě také nijak moc nezaujaly takže si opět musím pomoct sám.

Před cca 2 měsíci jsem si totiž pokusně naprogramoval na GAE jinou aplikaci tentokráte pro práci s Twitterem. Jedná se o jakési rozhraní které zpřístupní twitter účet více lidem a umožní jim postovat tweety pomocí jabberu. Aplikace je funkční a umožňuje mi pomocí Mirandy + Jabber pluginu pohodlně tweetovat na mé různé accounty (samozřejmostí je automatické zkracování url adres a podobně). Takže dalším krokem bude přidání funkcionality pro prohledávání Twitteru s možností definování pravidel a keywordů - hurá na to!

Jinak Pricetag si můžete v plné Beta kráse zkusit třeba na Sherlocku Holmesi :-)