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 bude 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
a 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
,MessagesAPI
aChat
.- 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
.