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žit

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

Novou webovou aplikaci, resp. celý informační systém, jsme pro naši „druhou“  část společnosti v rámci Počítačová služba s.r.o. vytvářeli již po několikáté – konkrétně se jedná o 3. generaci. Pokud vás zajímá více o historickém pozadí předcházejících verzí, tak jej najdete na této stránce.

Předchozí verze Informačního systému pro CENTRUM-VZDĚLÁVÁNÍ.CZ (dále jen ISCV) přišla na svět v roce 2016, takže zde již nějaka technologická „mezera“ byla a bylo čím dál náročnější udržovat aktuální stav, proto přišlo v půlce roku 2020 rozhodnutí, že vytvoříme nové ISCV nové generace a to jak po stránce technologické, tak i po stránce funkční. V současné době jsou samozřejmě trochu jiné požadavky, než byly v roce 2016.

Dále v textu se rozepíšeme o jednotlivých částech ISCV, ale je zde důležité připomenout, že jako celek ISCV se bere jak část webové aplikace, kde probíhá většina firemních procesů ohledně vzdělávání, tak i další části jako je webmail (roundcube) a cloud pro soubory (nextcloud). Tyto části byly integrovány jako „aplikace třetí strany„.

Dark/Light vzhled

Informační systém (ISCV) jsme vytvořili nejen v běžném „light“ neboli světlém vzhledu, ale také v moderním a čím dál častějším „dark mode“ neboli tmavém vzhledu. Na obrázku můžete vidět, jak vypadá webová aplikace v obou režimech, kde si uživatel může zvolit, který ze vzhledů „dark“/“light“ mu vyhovuje. Díky novým technoligiím a postupům není problém mít takovou funkčnost v rámci webové aplikace a výhoda je ta, že si v tom najde každý uživatel 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áře

Velkou změnou v ISCV byl způsob zobrazování dat. Samozřejmě klasické „tabulkové“ zobrazování dat zůstalo, protože pravděpodobně některá data jinak ani zobrazit nejdou. Ale snažili jsme se přidat do ISCV nový prvek ve formě kalendáře, protože často pracujeme s termíny kurzů pro vzdělávání, tak to k tomu vyloženě vybízelo. Kromě kalendáře v rámci detailu termínu kurzu se našlo využití i při rozpisu, kdy se zobrazují data několika lektorů nebo naopak (v normální době) dle různých míst. Což je příklad na vedlejším obrázku.

Technologie

Webová aplikace (frontend)

Pro „viditelnou“ část, tedy frontend webové aplikace ISCV, jsme zvolili Angular. Je to javascriptový framework od společnosti Google pro tvorbu SPA (single page application). Aktuální verze Angularu je pro nás 11 a Google neustále pracuje na jeho zlepšování, takže se jedná o živou věc. Za což jsme rádi, protože to nejhorší, co nás může potkat, je použít framework/technoligii, která by měla brzy zůstat bez podpory a vývoje. Další výhoda je, že používá TypeScript, k jehož významu se budeme věnovat v dalším odstavci.

Angular
Nest JS - node js framework

Webová aplikace (backend)

Pokud jsme ve frontendu pokračovali v technologii, která byla již použita v předchozí generaci ISCVAngular framework, tak pro „neviditelnou“ část alias backend část webové aplikace  jsme použili zcela nový framework. Předchozí generace ISCV byla napsaná v PHP za pomocí frameworku Apigility, který bohužel nedopadl úplně dobře, takže jsme pro novou generaci zvolili Nest JS – NodeJs framework.

Kromě toho, že NestJS je moderní framework pro backend aplikace, tak jednou z velkých výhod je, že je zde taky použit TypeScript a logika podobná Angularu. Takže to ušetřilo čas, protože způsob psaní byl stejný nebo velmi podobný a mohli jsme tak využít zkušenosti z AngularuNestJS aplikaci. Jednoduše řečeno docházelo zde ke krásné symbióze.

Realizace

Říjen – Prosinec 2020

Kontaktní osoba

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

Další reference