Tím č.10 - Gappers

Tímový projekt - FIIT STU 2014/15

AppMonitor

Platforma pre monitorovanie chýb a iných udalostí v aplikácii


Chcem vedieť viac o aplikácii AppMonitor

Definujte

Definujte udalosti a chyby, ktoré chcete monitorovať. Vytvorte upozornenia a akcie, ktoré sa následne vykonajú.

Monitorovanie

Pozorujte stav a správanie sa vašej aplikácie. Všímajte si počty návštev, správanie sa používateľov alebo rýchlosť odozvy.

Reportovanie

Okamžité upozornenia alebo štatistické reporty obsahujúce aj vami preddefinované udalosti.

Profitujte

Profitujte zo získaných informáci - opravte chyby alebo upravte nastavenia vašej aplikácie.

Náš progres

75% Complete

Novinky

  • 24.4.2015 Máme úspešne za sebou prezentovanie nášho riešenia na študentskej vedeckej konferencii IIT.SRC na pôde FIIT STU.
  • 26.3.2015 Dnes prezentujeme naše riešenie na TECH INNO DAY 2015 na pôde FIIT STU.
  • 23.2.2015 Predstavili sme náš projekt študentom 3.ročníka bakalárskeho štúdia na obchodnej fakulte Ekonomickej univerzity v Bratislave.
  • 19.2.2015 Prvé oficiálne stretnutie v letnom semestri, zhrnuli a úspešne sme ukončili zimný semester a pokračujeme vo vývoji nových funkcionalít
  • 28.11.2014 Máme za sebou prvé odovzdávanie a prvých zákazníkov vo forme ostatných tímov. Vyskytli sa nám aj nejaké produkčné bugy, ktoré sme promptne vyriešili. Aktuálne sa zameriavame na vývoj dátových kociek.
  • 27.10.2014 Tento týžďen sme sa stretli už v pondelok. Zrekapitulovali sme si detaily ohľadom prechodu na oddelenú architektúru jednotlivých modulov systému.
  • 22.10.2014 Dnes sme na našom štvrtom oficiálnom stretnutí uzavreli prvý šprint. Rozoberali sme konkurenčné riešenia, navrhovali architektúru systému. Sekciu dokumentov sme aktualizovali o pridanie 4. zápisnice.
  • 19.10.2014 Pridali sme spoločnú fotografiu tímu
  • 15.10.2014 Pridali sme zápisnicu z tretieho oficiálneho stretnutia a rozhodli sme sa zúčastniť súťaže TP Cup!
  • 8.10.2014 Pridali sme zápisnice z oboch oficiálnych stretnutí
  • 8.10.2014 Druhé oficiálne stretnutie, vytvorili sme si backlog, načrtli vzhľad pre frontend a aktualizovali sme model DB
  • 3.10.2014 Stretnutie a krátke intro k Railsom, dohodli sme layout plagátu:)
  • 1.10.2014 Dnes ráno sme sa prvýkrat oficiálne stretli, určili sme si role v tíme, dohodli sa na nástrojoch, ktoré chceme používať a začali sme prvý šprint, v ktorom sme si stanovili úvodne úlohy.
  • 27.9.2014 Vytvorili sme statickú tímovú stránku a pridali sme dokument Komeptencie tímu, motivácia pri výbere tém.
  • 24.9.2014 Nášmu tímu bola pridelená téma "Platforma pre monitorovanie chýb a iných udalostí v aplikácii - AppMonitor".
  • 22.9.2014 Stretli sme sa prvýkrát spoločne ako tím a dohodli sme sa na výbere tém.

Pri vyvíjaní rôznych aplikácií sa občas stane, že je v kóde chyba a prejaví sa až po tom ako sme nástroj nasadili a ľudia ho už začali používať. Aby sme mohli túto chybu opraviť, potrebujeme ju najskôr zachytiť. V aplikáciách však vznikajú aj iné typy udalostí ako len chyby. Častokrát potrebujeme vedieť napríklad koľko používateľov má práve zobrazenú našu stránku, aký je priemerný čas zobrazenia stránky, koľko spotrebováva naša aplikácia pamäte, koľko ľudí kliklo na toto tlačidlo alebo množstvo ďalších udalostí, ktoré si vieme sami definovať a mohli by nás zaujímať pri vývoji aplikácie alebo biznis analýze údajov, ktoré aplikácia produkuje. Pri takýchto udalostiach nás obvykle zaujíma aký je ich aktuálny stav (počet, trvanie, priemerná hodnota ...), ako sa tento stav menil v poslednom čase a ako koreluje sledovaná udalosť s nejakou inou. Toto sa nám obvykle nechce hľadať niekde v logoch a v prípade problému chceme byť o tejto udalosti informovaný v čase, keď nastala.

Cieľom projektu je vytvoriť službu, ktorá by dokázala zachytávať rôzne udalosti, ktoré nastávajú v aplikácii, ako sú napríklad chyby alebo vlastné definované udalosti, monitorovať ich a umožňovať nad nimi robiť základné typy analýz v reálnom čase. Výsledkom projektu by mala byť infraštruktúra na zachytávanie a zbieranie udalostí a rozhranie na ich zobrazovanie a analyzovanie.

Prečo?

Možnosť monitorovania svojich nasadených aplikácií a upozornení na problémy vo forme chýb alebo bottleneckov je veľmi vítana funkcionalita pre každého programátora, resp. správcu aplikácie. Po osobnej konzultácii sme boli usmernení v tom, v čom by mala aplikácia vynikať od už existujúcich riešení. Pri nich chýba identifikácia používateľov, ktorí s aplikáciou interagujú. Máme veľké množstvo údajov o používateľoch a ich správaní, dokonca v reálnom čase, ale nevieme priradiť jednotlivé akcie používateľom. Okrem možnosti definície vlastných udalostí vidíme túto možnosť ako veľmi plodnú pre následné využitie. Vedeli by sme tak identifikovať aj vzory správania sa použivateľov v našej aplikácii, čo by viedlo k novým možnostiam jej vylepšenia, prípadne zefektívnenia. Ďalej napr. osobnejší prístup k používateľom aplikácie, kde by sme vedeli pri vhodne zadefinovanej udalosti identifikovať problém, napr. aj neschopnosť/nepochopenie používateľa a následne ho kontaktovať a pomôcť mu alebo sa ospravedlniť za spôsobené problémy, ak chyba nastala na strane servera.

Ako?

Jedno z prvotných riešení identifikácie používateľov v aplikáciach kde absentuje používateľský účet, je využitie cookies v prehliadači previazané na rýchle úložisko napr Redis. Pokročilejším spôsobom môže byť identifikácia webového prehliadača, ktorá sa v práci Peter Esckersleyho ukázala ako relatívne funkčná [1]. Aplikácie plánujeme rozšíriť pomocou generovaného javascriptového kódu, pri vybraných jazykoch, máme v pláne vytvoriť moduly, ktoré by umožňovali monitorovanie aj na najnižšej úrovni.

[1] Peter Eckersley. 2010. How unique is your web browser?. In Proceedings of the 10th international conference on Privacy enhancing technologies (PETS'10), Mikhail J. Atallah and Nicholas J. Hopper (Eds.). Springer-Verlag, Berlin, Heidelberg, 1-18.

Náš tím pozostáva zo šiestich úspešných členov predchádzajúceho bakalárskeho štúdia na STU, posledný, siedmy člen študoval na UNIZA. Tím funguje pod vedením a dohľadom Ing. Jakuba Ševcecha.

Čo znamená náš názov?

The term, "Gapper" is derived from people found on the ski hill that generally sport the dreaded helmet gap. The gap that exists between the brim of a ski helmet and the frame of the ski goggles. Generally these people don't seem to care that a very visible 2" gap exists exposing their forehead to the elements.



Barbora Brocková
Manažment dokumentovania

Java UML Python

Absolvovala bakalárske štúdium na FIIT STU v Bratislave. Venuje sa softvérovej analýze, má profesijné skúsenosti ako softvérová analytička (Jumpsoft) a tiež ako projektová manažérka (Tatrabanka). Absolvovala Summer Startup School v roku 2013, podieľala sa na projekte testingo.sk. Má skúsenosti s programovaním v jazyku Java a Python, technológiami JavaScript a Bootstrap. V projektoch preferuje pozíciu analytičky a dokumentaristky.

Matej Čaja
Manažment kvality

Java Ruby on Rails

Absolvoval bakalárske štúdium na FIIT STU v Bratislave. V rámci bakalárskeho projektu sa venoval téme Personalizované vyhľadávanie v digitálnej knižnici. Venuje sa tvorbe webových aplikácií prostredníctvom frameworku Ruby on Rails, profesijné skúsenosti má aj s jazykom Java. V projektoch sa podielal na všetkých fázach vývoja softvéru. Vo voľnom čase si rád prehlbuje profesijné vedomosti.

Martin Číž
Manažment rizík

Java Ruby on Rails Python

Absolvoval bakalárske štúdium na FIIT STU. Počas štúdia vyskúšal rôzne technológie, no orientoval sa najmä na jazyk Java. V roku 2013 absolvoval letnú programátorskú školu Summer Startup School kde sa naučil vytvárať webové aplikácie v jazyku Python, pracovať v tíme a rozšíril si znalosti o metódach vývoja softvéru. Venuje sa vytváraniu webových aplikácií v Ruby on Rails. Preferuje riešiť backend aplikácie.

Peter Kyseľ
Manažment monitorovania

Java C/C++ PHP

Absolvoval bakalárske štúdium na Fakulte riadenia a informatiky Žilinskej univerzity. V rámci bakalárskeho projektu vyvíjal desktopovú aplikáciu pre stavebnú spoločnosť. Pracuje pre IT Crowd. Preferuje programovanie v Jave, tvorbu HTML stránok a databázu Oracle. Má tiež skúsenosti s C++, PHP a jazykom Scala. Vo voľnom čase čítam svetovú literatúru (do roku 1989), snowboardujem, píšem články, básne a venujem sa turistike.

Adam Lieskovský
Manažment podpory vývoja a integrácie

Ruby on Rails Python SQL

Absolvoval bakalárske štúdium na FIIT STU. V rámci bakalárskeho projektu sa venoval podpore tvorby dopytu v systéme Annota. Táto práca povzbudila jeho už i tak existujúci zaújem o webové aplikácie, najme ich backendovú časť. Pracuje s Ruby on Rails, ale má skúsenosti aj s Pythonom – stojí za projektom testingo.sk. Pozná Javu, Bootstrap, jQuery, git, AngularJS. Má profesné skúsenosti s relačnými databázami (Oracle, MySql, Postgres), ale rovnako aj NoSQL technológiami - Elasticsearch, Redis.

Daniel Uderman
Manažment plánovania

C/C++ PHP Java

Absolvoval bakalárske štúdium na FIIT STU. V rámci bakalárskeho projektu sa venoval vysokovýkonnému distribuovanému počítaniu s využitím algoritmov inšpirovaných hmyzom. Profesionálne sa venuje tvorbe ecommerce stránok v PHP. V priebehu štúdia získal aj skúsenosti s programovaním v C/C++, Jave a v jazyku JavaScript. Má skúsenosti tiež s databázovým systémom MySQL.

Michal Viskup
Manažment komunikácie a vedúci tímu

Java/J2EE C/C++ CUDA

Absolvoval bakalárske štúdium na FIIT STU. V rámci bakalárskeho projektu sa zaoberal využitím grafickej procesorovej jednotky pre podporu výpočtu pri segmentácií obrazu. Zaujíma sa o spracovanie obrazu, počítačové videnie a strojové učenie. Pracuje pre spoločnosť vyvíjajúcu informačné systémy pre oblasť e-government, poštových a bankových služieb. Profesionálne programuje v Jave, má skúsenosti s technológiami spĺňajúcimi Java Enterprise Edition špecifikáciu. V rámci projektov tiež programoval v C/C++. Voľný čas venuje priateľke a návštevám posilňovne.

Jakub Ševcech
Mentor tímu

Ruby Python SQL NoSQL

Študent doktorandského stupňa štúdia na FIIT STU. Vo svojej dizertačnej práci sa venuje spracovaniu veľkých objemov dát, online spracovaniu prúdu dát a analýze údajov. Okrem toho sa zaoberá vývojom rôznych webových aplikácií. Spolupracoval na slovenskom startupe Sli.do. Najradšej používa programovacie jazyky Ruby a Python v spojení s rôznymi relačnými aj nerelačnými databázami.

Dokumentácia

1. Kontrolný bod 19.11.2014

Celkový výsledok projektu 21.5.2015

Zápisnice

Zimný semester

# Dátum Pridal Názov Popis
1 01.10.2014 Peťo Úvodné Stretnutie Úvodné stretnutie tímu, špecifikácia projektu a zadefinovanie úloh
2 08.10.2014 Matej Druhé Stretnutie Vytvorenie produktového backlog-u, náčrt frontend-u a špecifikácia modelu DB
3 15.10.2014 Barbora Tretie Stretnutie Prezentácie existujúcich konkurenčných riešení, prehľad práce, metodiky
4 22.10.2014 Adam Štvrté stretnutie Konkurenčné riešenia, architektúra systému, klientský modul, API
5 27.10.2014 Michal Piate stretnutie Definovanie API, spracovanie správ na backende
6 5.11.2014 Peťo Šieste stretnutie Začiatok tretieho šprintu zadelenie úloh dokumentácie, MVP a All messages
7 12.11.2014 Dano Siedme stretnutie Zmeny v API prijímania správ, testovanie backendu, zmeny vo frontend designe
8 19.11.2014 Martin Ôsme stretnutie Kontrola dokumentácie, určenie nových úloh súvisiacich s dátovou kockou.
9 26.11.2014 Michal Deviate stretnutie Aktualizácia špecifikácie k dátovým kockám
10 03.12.2014 Matej Desiate stretnutie Kontrola priebehu šprintu
11 10.12.2014 Matej Jedenáste stretnutie Zhodnotenie šprintu

Letný semester

# Dátum Pridal Názov Popis
1 19.2.2015 Adam Prvé zimné oficiálne stretnutie Plán prechodu na Elasticsearch. Review zimného semestra.
2 26.2.2015 Matej Druhé stretnutie Zhodnotenie priebehu zadefinovaných taskov.
3 6.3.2015 Miso Tretie stretnutie Zmena úložiska správ na ElasticSearch, dopady takejto zmeny na moduly aplikácie.
4 12.3.2015 Matej Štvrté stretnutie Zhodnotenie priebehu taskov
5 19.3.2015 Peter Piate stretnutie Zhodnotenie priebehu taskov, staging down IITSRC
6 26.3.2015 Dano Šieste stretnutie Staging na DO
8 9.4.2015 Barbora Osme stretnutie Design, elastic, poster, vizitky
9 16.4.2015 Martin Deviate stretnutie Migrácia servera, layout

Ostatné

V prípade akýchkoľvek otázok, nápadov, pripomienok nás môžete kontaktovať na gappers-tp-fiit[at]googlegroups.com.

Adresa

Slovenská technická univerzita v Bratislave
Fakulta informatiky a informačných technológií
Ilkovičova 2
842 16 Bratisla va 4