Michal edited Requirements.md  about 9 years ago

Commit id: b0d8700eb41052885c169f67c9fe4dbd276d364d

deletions | additions      

       

# Požadavky na systém  # 2  Použité technologie ## 2.1  MEAN Stack Mean stack je soubor technologií (MongoDB, Express, AngularJS, Node.js), založených na JavaScriptu, které se používají k tvorbě webových aplikací. Umožňujě tvořit servery i klienty. Klient komunikuje se serverem pomocí rest api. Mezi hlavní přednosti patří rychlost, jednoduchost a testovatelnost.  ### 2.1.1  AngularJS Angular je MVC framework pro tvorbu webových aplikací. Výrazně usnadňuje práci a také podporuje vysokou modularitu a testovatelnost. Vzhled prezentační vrstvy můžeme ovládat pomocí direktiv. Direktivy určují, jak bude zacházeno s modelem. Zapisujeme je jako atributy HTML značek. Pokud máme například model items a chceme položky vypsat do seznamu, použijeme direktivu ng-repeat.  `
     
  • {{item}}
  •  

    Angular umožňuje i tvorbu uživatelských direktiv, což zjednodušuje znovupoužitelnost kódu.  Další výhodou angularu je two-way data binding. Two-way data binding zajišťuje synchronizaci modelu a prezentační vrstvy. Změna modelu se tedy okamžitě projeví na obrazovce.  Angular za nás také řeší závislosti mezi jednotlivými komponentami pomocí dependenci injection.  ### 2.1.2  Node.JS Node je prostředí, umožňující běh JavaScriptu mimo webový prohlížeč, využívané zejména pro běh back-end serverů pro webové aplikace.  ### 2.1.3  Express Express je NPM balíček pro tvorbu webových serverů.  ### 2.1.4  MongoDB MongoDb je dokumentově orientovaná databáze. Jedná se o NoSQL databázi. Data se ukládají do dokumentů, které jsou tříděny do kolekcí. Filozofie spočívá v tom, že data, která spolu souvicí, jsou uložena v jednom dokumentu a měla by odpovídat požadovaným dotazům na databázi. Při dotazu na databázi tedy obvykle vracíme jen jeden dokument, což je mnohem snažší a rychlejší, než v klasických SQL databázích.