VAII Cvičenie 10
Momentálne je otvorená vetva MAIN, ktorá obsahuje štartér. Riešenie obsahuje vetva SOLUTION.
Vytvorte SPA aplikáciu na četovanie medzi používateľmi. Čítať a posielať správy bude možné až po prihlásení. Poslať sa budú dať dva druhy správ: verejné a súkromné (privátne). Verejné správy budú vidieť všetci používatelia četu. Privátne správy je možné poslať konkrétnemu adresátovi a navyše len tomu, ktorý je aktívny (vykonal nejakú činnosť za posledných 30 sekúnd).
- Dáta pre aplikáciu sme vytvorili na predošlom cvičení. Spustite všetky testy, aby ste sa presvedčili, že backend aplikácie je plne funkčný.
- Pozrite si súbory
App\Views\Home\index.view.php,App/Views/Layouts/root.layout.view.phpa všetky súbory v adresáripublic\js.
Aplikáciu sme čiastočne vytvorili, pretože jej rozsah nie je možné zvládnuť počas jedného cvičenia. - Vašou úlohou bude implementovať chýbajúce metódy v JS triedach
DataService,MessagesAPIaChat.- Začnite metódou
sendRequest()v triedeDataService. Jej úlohou je komunikovať s backend časťou aplikácie. Metóda bude slúžiť na:- získavanie a posielanie dát na server
- ak návratový stavový kód nie je zhodný s očakávaným (
responseCode), vráti chybu z parametraonErrorReturn - ak je návratová kód rovný
204, vráti true - ak nenastane chyba, vráti prijaté dáta
- ak nastane chyba, vyhodí výnimku a vráti v nej hodnotu
onErrorReturn.
- Prezrite si, ako sa táto metóda využíva v triede
AuthAPI. Podobným spôsobom implementujte chýbajúce metódy v triedeMessagesAPI. - Pozrite sa je implementovaná metóda
getActiveUsers()v triedeAuthAPI. Potom implementujte metódushowActiveUsers()v triedeChat. Úlohou metódy bude zobraziť získaný zoznam aktívnych používateľov z backendu, aby ste vedeli, ktorým používateľom môžete poslať privátnu správu. Používateľov vložte do pripraveného elementu s idactive. Po kliknutí na meno používateľa sa jeho meno prekopíruje do poľa adresáta správy a umožní poslať mu privátnu správu. - Implementujte metódu
showMessages()v triedeChat. Metóda získa všetky nové správy četu a zobrazí ich v elemente s idmessage_rows. Každá správa bude predstavovať jeden riadok tabuľky, skladajúci sa zo stĺpcov dátum a čas, adresát a text správy. Ak je správa privátna, zobrazí sa celý riadok s iným farebným pozadím.
- Začnite metódou
Pokiaľ sa chcete dostať k postupu riešenia cvičenia, je potrebné otvoriť si príslušnú vetvu, ktorej názov sa skladá:
MIESTNOST + "-" + HODINA ZAČIATKU + "-" + DEN
Ak teda navštevujete cvičenie pondelok o 08:00 v RA323, tak sa vaša vetva bude volať: RA323-08-PON
Cvičenie používa framework vaííčko dostupný v
repozitári https://github.com/thevajko/vaiicko. Pre úspešné riešenie
projektu je potrebné spustiť docker konfiguráciu zo súboru docker\docker-compose.yml.