Loading docs/prirucka.adoc +27 −26 Original line number Diff line number Diff line Loading @@ -84,12 +84,12 @@ pipenv install *Pipenv* týmto príkazom vytvorí virtuálne prostredie pre aktívny projekt ak zatiaľ neexistuje. Týmto je vývojárske prostredie pripravené. V prípade, že chcete ďalej pracovať s vývojárskym prostredím, prejdite k časti Spustenie backendu. prejdite k časti _Spustenie backendu_. ==== Produkčné prostredie Pre produkčné nasadenie backendu je potrebné nainštalovať a nakonfigurovať databázu *PostgreSQL*. Nasledujúci návod by mal fungovať pre distribúciu Debian 9 (stable): Nasledujúci návod je určený pre distribúciu Debian 9 (stable): [source, bash] ---- Loading @@ -97,7 +97,7 @@ sudo apt install postgresql # nainštaluje PostgreSQL sudo passwd postgres # nastaví heslo používateľa postgres sudo su - postgres # zmení aktívneho používateľa na účet 'postgres' initdb # inicializuje databázu, ak je to potrebné initdb # inicializuje databázu (použiť iba ak nie je inicializovaná) createdb <dbname> # vytvorí novú databázu <dbname> pre portál createuser <username> # vytvorí nového používateľa <username> pre portál Loading Loading @@ -161,7 +161,7 @@ Projekt vyžaduje prítomnosť nástrojov *Node.js* a *npm*: [source,bash] ---- curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs sudo apt install -y nodejs ---- Pre kompiláciu a spustenie frontendu aplikácie je potrebné nainštalovať nástroj *Angular CLI*: Loading Loading @@ -205,7 +205,7 @@ ng build --prod --build-optimizer Skompilované súbory sú automaticky uložené do priečinka `dist` v koreňovom priečinku projektu. ==== NGINX ==== Server NGINX V prvom rade je potrebné nainštalovať **NGINX**: Loading @@ -225,9 +225,9 @@ openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 36 V interaktívnom móde vyplňte v položke **Common Name** *doménu* alebo *IP adresu*, kde na ktorej bude frontend a backend nasadený. Vygenerované súbory `cert.pem` a `key.pem` uložte na dostupné miesto, napríklad `/var/certs/`. Kedže sa jedná o vami vygenerovaný certifikát je nutné pridať bezpečnostnú výnimku do Vášho internetového prehliadača. Kedže ide o vami vygenerovaný certifikát je nutné pridať bezpečnostnú výnimku do Vášho internetového prehliadača. Ak máte doménu, je možné na vygenerovanie certifikátu použiť napr. službu **let's encrypt**, vďaka ktorej nie je nutné Ak máte doménu, je možné na vygenerovanie certifikátu použiť napr. službu https://letsencrypt.org/[Let's encrypt], vďaka ktorej nie je nutné pridávať výnimku do prehliadača, keďže vytvára dôveryhodný certifikát. Loading @@ -250,7 +250,7 @@ po prístupe na adresu kde beží NGINX server mali vidieť stránky frontendu. ===== Vzorová konfigurácia NGINX serveru: Táto konfigurácia je použitá v testovacom nasadení v službe Stratus.FI. Táto konfigurácia je použitá v testovacom nasadení v službe **Stratus.FI**. [source] ---- Loading Loading @@ -409,7 +409,7 @@ JSON objektu, ktorý daný endpoint prijíma, response format ktorý odosiela. Niektoré endpointy na obsluhu entít sú si veľmi podobné. Štandardne sú dotazy spracovávané nasledovne: * odpoveď na GET ´dotazy obsahuje reprezentáciu jednej entity alebo zoznam reprezentácii niekoľkých entít, * odpoveď na GET dotazy obsahuje reprezentáciu jednej entity alebo zoznam reprezentácii niekoľkých entít, zvyčajne s redukovanou množinou atribútov a má kód 200 * odpoveď na PUT a DELETE dotazy obsahuje prázdny reťazec a má kód 204 * odpoveď na POST dotazy obsahuje reprezentáciu vytvorenej entity a má kód 201 Loading @@ -426,7 +426,7 @@ Zápis [entita, entita, ...] reprezentuje zoznam entít jedného druhu. Formát dátumu a času: ISO8601 - "Sun, 10 Nov 2013 08:23:45 -0600", relatívne k UTC Reprezentácie objektov je možné nájsť v súbore `schemas.py` priečinku `rest` projektu. Skratka r_item označuje objekt typu review item (časť komentáru). Skratka _r_item_ označuje objekt typu review item (časť komentáru). === Autentizácia * POST /auth/login Loading Loading @@ -638,10 +638,10 @@ checkout: string (commit, ktorý sa má stiahnuť, nepovinné) + * GET /courses/<string:cid>/roles/<string:rid>/permissions ** vráti zozonam povolení role ** response format: štandard (permission) ** response format: štandard (permissions) * PUT /courses/<string:cid>/roles/<string:rid>/permissions ** upraví povolenia roly ** request format: štandard (permission) ** request format: štandard (permissions) ** response format: permissions * DELETE /courses/<string:cid>/roles/<string:rid>/users/<string:uid> Loading @@ -666,6 +666,7 @@ remove: [userId, userId, ...] + === Status * GET /management/status ** slúži na overenie dostupnosti backendu ** zatiaľ nevyužitý frontendom portálu ** response format: { status: "works" } === Submission Loading Loading @@ -758,10 +759,9 @@ new_password: string, + } == Dostupné CLI príkazy Portál rozširuje rozhranie príkazového riadka rámca Flask: http://flask.pocoo.org/docs/1.0/cli/[Flask Command Line interface]. Umožńuje tak jednoduchú prípravu spúšťaného prostredia. Umožňuje tak jednoduchú prípravu spúšťaného prostredia. === Zoznam príkazov Je možné získať príkazom `flask --help` v koreňovom adresári projektu. Zoznam príkazov je možné získať príkazom `flask --help` v koreňovom adresári projektu: - `courses`: správa kurzov - `data`: inicializácia vzorových dát Loading Loading @@ -836,7 +836,8 @@ Na odskúšanie funkčnosti emailových notifikácii je možné využiť nástro Pri inštalácii postupujte podľa návodu nástroja. Nástroj je možné jednoducho konfigurovať pomocou _docker image_. Pre spustenie docker image potrebujete nainštalovať https://www.docker.com/[Docker]. Pre inštaláciu na systém Debian postupujte podľa https://docs.docker.com/install/linux/docker-ce/debian/[oficiálneho návodu]: systém Debian postupujte podľa https://docs.docker.com/install/linux/docker-ce/debian/[oficiálneho návodu], ktorý je zhrnutý v nasledujúcej časti. === Inštalácia Dockeru na Debian 9 Loading @@ -844,7 +845,7 @@ Nainštalujte balíčky potrebné na pridanie repozitára a kľúča: [source, bash] ---- sudo apt-get install \ sudo apt install \ apt-transport-https \ ca-certificates \ curl \ Loading Loading @@ -872,7 +873,7 @@ sudo add-apt-repository \ Nainštalujte Docker: [source, bash] ---- sudo apt-get update && sudo apt-get install docker-ce sudo apt update && sudo apt install docker-ce ---- Pridajte aktuálneho používateľa do `docker skupiny` (môže vykonávať docker príkazy bez `sudo`) Loading Loading @@ -910,7 +911,7 @@ docker run -d \ ---- == Integrácia s backendom portálu === Integrácia s backendom portálu Pre prácu s emailovými notifikáciami je potrebné pozmeniť súbor `portal.local.cfg`: Loading Loading
docs/prirucka.adoc +27 −26 Original line number Diff line number Diff line Loading @@ -84,12 +84,12 @@ pipenv install *Pipenv* týmto príkazom vytvorí virtuálne prostredie pre aktívny projekt ak zatiaľ neexistuje. Týmto je vývojárske prostredie pripravené. V prípade, že chcete ďalej pracovať s vývojárskym prostredím, prejdite k časti Spustenie backendu. prejdite k časti _Spustenie backendu_. ==== Produkčné prostredie Pre produkčné nasadenie backendu je potrebné nainštalovať a nakonfigurovať databázu *PostgreSQL*. Nasledujúci návod by mal fungovať pre distribúciu Debian 9 (stable): Nasledujúci návod je určený pre distribúciu Debian 9 (stable): [source, bash] ---- Loading @@ -97,7 +97,7 @@ sudo apt install postgresql # nainštaluje PostgreSQL sudo passwd postgres # nastaví heslo používateľa postgres sudo su - postgres # zmení aktívneho používateľa na účet 'postgres' initdb # inicializuje databázu, ak je to potrebné initdb # inicializuje databázu (použiť iba ak nie je inicializovaná) createdb <dbname> # vytvorí novú databázu <dbname> pre portál createuser <username> # vytvorí nového používateľa <username> pre portál Loading Loading @@ -161,7 +161,7 @@ Projekt vyžaduje prítomnosť nástrojov *Node.js* a *npm*: [source,bash] ---- curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs sudo apt install -y nodejs ---- Pre kompiláciu a spustenie frontendu aplikácie je potrebné nainštalovať nástroj *Angular CLI*: Loading Loading @@ -205,7 +205,7 @@ ng build --prod --build-optimizer Skompilované súbory sú automaticky uložené do priečinka `dist` v koreňovom priečinku projektu. ==== NGINX ==== Server NGINX V prvom rade je potrebné nainštalovať **NGINX**: Loading @@ -225,9 +225,9 @@ openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 36 V interaktívnom móde vyplňte v položke **Common Name** *doménu* alebo *IP adresu*, kde na ktorej bude frontend a backend nasadený. Vygenerované súbory `cert.pem` a `key.pem` uložte na dostupné miesto, napríklad `/var/certs/`. Kedže sa jedná o vami vygenerovaný certifikát je nutné pridať bezpečnostnú výnimku do Vášho internetového prehliadača. Kedže ide o vami vygenerovaný certifikát je nutné pridať bezpečnostnú výnimku do Vášho internetového prehliadača. Ak máte doménu, je možné na vygenerovanie certifikátu použiť napr. službu **let's encrypt**, vďaka ktorej nie je nutné Ak máte doménu, je možné na vygenerovanie certifikátu použiť napr. službu https://letsencrypt.org/[Let's encrypt], vďaka ktorej nie je nutné pridávať výnimku do prehliadača, keďže vytvára dôveryhodný certifikát. Loading @@ -250,7 +250,7 @@ po prístupe na adresu kde beží NGINX server mali vidieť stránky frontendu. ===== Vzorová konfigurácia NGINX serveru: Táto konfigurácia je použitá v testovacom nasadení v službe Stratus.FI. Táto konfigurácia je použitá v testovacom nasadení v službe **Stratus.FI**. [source] ---- Loading Loading @@ -409,7 +409,7 @@ JSON objektu, ktorý daný endpoint prijíma, response format ktorý odosiela. Niektoré endpointy na obsluhu entít sú si veľmi podobné. Štandardne sú dotazy spracovávané nasledovne: * odpoveď na GET ´dotazy obsahuje reprezentáciu jednej entity alebo zoznam reprezentácii niekoľkých entít, * odpoveď na GET dotazy obsahuje reprezentáciu jednej entity alebo zoznam reprezentácii niekoľkých entít, zvyčajne s redukovanou množinou atribútov a má kód 200 * odpoveď na PUT a DELETE dotazy obsahuje prázdny reťazec a má kód 204 * odpoveď na POST dotazy obsahuje reprezentáciu vytvorenej entity a má kód 201 Loading @@ -426,7 +426,7 @@ Zápis [entita, entita, ...] reprezentuje zoznam entít jedného druhu. Formát dátumu a času: ISO8601 - "Sun, 10 Nov 2013 08:23:45 -0600", relatívne k UTC Reprezentácie objektov je možné nájsť v súbore `schemas.py` priečinku `rest` projektu. Skratka r_item označuje objekt typu review item (časť komentáru). Skratka _r_item_ označuje objekt typu review item (časť komentáru). === Autentizácia * POST /auth/login Loading Loading @@ -638,10 +638,10 @@ checkout: string (commit, ktorý sa má stiahnuť, nepovinné) + * GET /courses/<string:cid>/roles/<string:rid>/permissions ** vráti zozonam povolení role ** response format: štandard (permission) ** response format: štandard (permissions) * PUT /courses/<string:cid>/roles/<string:rid>/permissions ** upraví povolenia roly ** request format: štandard (permission) ** request format: štandard (permissions) ** response format: permissions * DELETE /courses/<string:cid>/roles/<string:rid>/users/<string:uid> Loading @@ -666,6 +666,7 @@ remove: [userId, userId, ...] + === Status * GET /management/status ** slúži na overenie dostupnosti backendu ** zatiaľ nevyužitý frontendom portálu ** response format: { status: "works" } === Submission Loading Loading @@ -758,10 +759,9 @@ new_password: string, + } == Dostupné CLI príkazy Portál rozširuje rozhranie príkazového riadka rámca Flask: http://flask.pocoo.org/docs/1.0/cli/[Flask Command Line interface]. Umožńuje tak jednoduchú prípravu spúšťaného prostredia. Umožňuje tak jednoduchú prípravu spúšťaného prostredia. === Zoznam príkazov Je možné získať príkazom `flask --help` v koreňovom adresári projektu. Zoznam príkazov je možné získať príkazom `flask --help` v koreňovom adresári projektu: - `courses`: správa kurzov - `data`: inicializácia vzorových dát Loading Loading @@ -836,7 +836,8 @@ Na odskúšanie funkčnosti emailových notifikácii je možné využiť nástro Pri inštalácii postupujte podľa návodu nástroja. Nástroj je možné jednoducho konfigurovať pomocou _docker image_. Pre spustenie docker image potrebujete nainštalovať https://www.docker.com/[Docker]. Pre inštaláciu na systém Debian postupujte podľa https://docs.docker.com/install/linux/docker-ce/debian/[oficiálneho návodu]: systém Debian postupujte podľa https://docs.docker.com/install/linux/docker-ce/debian/[oficiálneho návodu], ktorý je zhrnutý v nasledujúcej časti. === Inštalácia Dockeru na Debian 9 Loading @@ -844,7 +845,7 @@ Nainštalujte balíčky potrebné na pridanie repozitára a kľúča: [source, bash] ---- sudo apt-get install \ sudo apt install \ apt-transport-https \ ca-certificates \ curl \ Loading Loading @@ -872,7 +873,7 @@ sudo add-apt-repository \ Nainštalujte Docker: [source, bash] ---- sudo apt-get update && sudo apt-get install docker-ce sudo apt update && sudo apt install docker-ce ---- Pridajte aktuálneho používateľa do `docker skupiny` (môže vykonávať docker príkazy bez `sudo`) Loading Loading @@ -910,7 +911,7 @@ docker run -d \ ---- == Integrácia s backendom portálu === Integrácia s backendom portálu Pre prácu s emailovými notifikáciami je potrebné pozmeniť súbor `portal.local.cfg`: Loading