CENTRUM-VZDĚLÁVÁNÍ.CZ - Počítačová služba s.r.o. - informační system - webová aplikace
CENTRUM-VZDĚLÁVÁNÍ.CZ

Informačný systém (frontend + backend)

Angular + REST API + NestJS (node js)

Uložiť

CENTRUM-VZDĚLÁVÁNÍ.CZ - multi

Webová aplikácia (informačný systém) pre CENTRUM-VZDELÁVÁNÍ.CZ

Novú webovú aplikáciu, resp. celý informačný systém, sme pre našu „druhú“ časť spoločnosti v rámci Počítačová služba s.r.o. vytvárali už po niekoľkokrát – konkrétne sa jedná o 3. generáciu. Pokiaľ vás zaujíma viac o historickom pozadí predchádzajúcich verzií, tak ho nájdete na tejto stránke.

Predchádzajúca verzia Informačného systému pre CENTRUM-VZDELÁVÁNÍ.CZ (ďalej len ISCV) prišla na svet v roku 2016, takže tu už nejaká technologická „medzera“ bola a bolo čím ďalej náročnejšie udržiavať aktuálny stav, preto prišlo v polovici roku 2020 rozhodnutie, že vytvoríme nové ISCV novej generácie a to ako po stránke technologickej, tak aj po stránke funkčnej. V súčasnej dobe sú samozrejme trochu iné požiadavky, než boli v roku 2016.

Ďalej v texte sa rozpíšeme o jednotlivých častiach ISCV, ale je tu dôležité pripomenúť, že ako celok ISCV sa berie ako časť webovej aplikácie, kde prebieha väčšina firemných procesov ohľadom vzdelávania, tak aj aj ďalšie časti ako webmail (roundcube) a cloud pre súbory (nextcloud). Tieto časti boli integrované ako „aplikácia tretej strany„.

Dark/Light vzhľad

Informačný systém (ISCV) sme vytvorili nielen v bežnom „light“ alebo svetlom vzhľade, ale aj v modernom a čoraz častejšom „dark mode“ čiže tmavom vzhľade. Na obrázku môžete vidieť, ako vyzerá webová aplikácia v oboch režimoch, kde si používateľ môže zvoliť, ktorý zo vzhľadov „dark“/“light“ mu vyhovuje. Vďaka novým technológiám a postupom nie je problém mať takú funkčnosť v rámci webovej aplikácie a výhoda je tá, že si v tom nájde každý užívateľ to svoje.

CENTRUM-VZDĚLÁVÁNÍ.CZ - informační systém - webová aplikace
CENTRUM-VZDĚLÁVÁNÍ.CZ - informační systém - webová aplikace

Kalendáre

Veľkou zmenou v ISCV bol spôsob zobrazovania dát. Samozrejme klasické „tabuľkové“ zobrazovanie dát zostalo, pretože pravdepodobne niektoré dáta inak ani zobraziť nejdú. Ale snažili sme sa pridať do ISCV nový prvok vo forme kalendára, pretože často pracujeme s termínmi kurzov pre vzdelávanie, tak to k tomu vyložene nabádalo. Okrem kalendára v rámci detaila termínu kurzu sa našlo využitie aj pri rozpise, kedy sa zobrazujú dáta niekoľkých lektorov alebo naopak (v normálnej dobe) podľa rôznych miest. Čo je príklad na vedľajšom obrázku.

Technológia

Webová aplikácia (frontend)

Pre „viditeľnú“ časť, teda frontend webovej aplikácie ISCV, sme zvolili Angular . Je to javascriptový framework od spoločnosti Google na tvorbu SPA (single page application). Aktuálna verzia Angular je pre nás 11 a Google neustále pracuje na jeho zlepšovaní, takže sa jedná o živú vec. Za čo sme radi, pretože to najhoršie, čo nás môže stretnúť, je použiť framework/technológiu, ktorá by mala čoskoro zostať bez podpory a vývoja. Ďalšia výhoda je, že používa TypeScript, ku ktorého významu sa budeme venovať v ďalšom odseku.

Angular
Nest JS - node js framework

Webová aplikácia (backend)

Ak sme vo frontende pokračovali v technológii, ktorá bola už použitá v predchádzajúcej generácii ISCVAngular framework, tak pre „neviditeľnú“ časť alias backend časť webovej aplikácie  sme použili úplne nový framework. Predchádzajúca generácia ISCV bola napísaná v PHP pomocou frameworku Apigility, ktorý bohužiaľ nedopadol úplne dobre, takže sme pre novú generáciu zvolili Nest JS – NodeJs framework.

Okrem toho, že NestJS je moderný framework pre backend aplikácie, tak jednou z veľkých výhod je, že je tu tiež použitý TypeScript a logika podobná Angularu . Takže to ušetrilo čas, pretože spôsob písania bol rovnaký alebo veľmi podobný a mohli sme tak využiť skúsenosti z AngularNestJS aplikácii. Jednoducho povedané dochádzalo tu ku krásnej symbióze.

Realizácia

Október – December 2020

Kontaktná osoba

Ing. Leopold Podmolík, MBA
majiteľ Počítačová služba s.r.o.

Ďalšie referencie