Commit 2d02d1b9 authored by Barbora Kompišová's avatar Barbora Kompišová
Browse files

formatting

parent 3b0fabaf
Loading
Loading
Loading
Loading
Loading
+27 −26
Original line number Diff line number Diff line
@@ -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]
----
@@ -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

@@ -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*:
@@ -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**:

@@ -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.


@@ -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]
----
@@ -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
@@ -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
@@ -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>
@@ -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
@@ -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
@@ -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

@@ -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 \
@@ -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`)
@@ -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`: