Michal edited Requirements.md  about 9 years ago

Commit id: e44c37c3ef21b8248ac3903e5a5b460f58c65b85

deletions | additions      

       

### 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. Node běží vždy jen v jednom vlákně, souběžnost zajišťuje architektura řízená událostmi. Pokud vlákno provede nějaký požadavek (například dotaz do databáze), vlákno se nezablokuje, ale může vykonávat něco jiného. Pokud příde odpověď na náš požadavek, vyvolá se událost a provede se kód, který na událost reaguje. Například získání uživatele z databáze provedeme takto: `User.FindById(id, function(user) {//provede se po získání uživatele z databáze})`  ### 2.1.3 Express  Express je NPM balíček (viz 2.2)  pro tvorbu webových serverů. serverů v node.js, zkracující a zpřehledňující kód.  ### 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.  ## 2.2 NPM  NPM je balíčkovací manažer pro node.js a další technologie. Umožňuje jednoduše stahovat přídavné moduly pro naší aplikaci. Modul naistalujeme příkazem npm install nazev_modulu. Závislosti na modulech můžeme zapsat do souboru package.json a poté naistalovat najednou příkazem npm install. V mojí aplikaci jsem použil následující moduly:  * bcrypt  * body-parser  * jwt-simple  * mongoose