Hlavný jazyk príkladu: AJAX
Ostatné použité jazyky: PHP, HTML, JavaScript, CSS
Obťažnosť: 5/5
Obsah príkladu: Objektové programovanie v PHP, spracovanie výnimiek v PHP, session, tvorba serverového API rozhrania, PHP Data Objects (PDO), PDO prepare statements, databázová vrstva, HTTP stavové kódy, AJAX volania, JSON formát, JavaScript API klient, prísľuby (promises), asynchrónne programovanie v JavaScripte, časovače v JavaScripte, kľúčové slová async
, await
, použitie arrow funkcií, manipulácia s DOM, CSS flexbox.
Všetky potrebné služby sú v
docker-compose.yml
. Po ich spustení sa vytvorí:
- webový server, ktorý do document root namapuje adresár tejto úlohy s modulom PDO. Port 80 a bude dostupný na adrese http://localhost/. Server má pridaný modul pre ladenie Xdebug 3 nastavený na port 9000 v "auto-štart móde" (
xdebug.start_with_request=yes
).- databázový server s vytvorenou databázou a tabuľkami
messages
ausers
na porte 3306 a bude dostupný nalocalhost:3306
. Prihlasovacie údaje sú:
- MYSQL_ROOT_PASSWORD: db_user_pass
- MYSQL_DATABASE: dbchat
- MYSQL_USER: db_user
- MYSQL_PASSWORD: db_user_pass
- phpmyadmin server, ktorý sa automatický nastavený na databázový server na porte 8080 a bude dostupný na adrese http://localhost:8080/
Vytvorte chatovaciu aplikáciu, ktorá budem mať nasledovné funkcie:
- Bude umožňovať posielanie správ.
- Správy si môže pozerať aj neprihlásený používateľ.
- Zobrazovať sa bude vždy 50 najnovších správ.
- Aby používateľ mohol chatovať, musí zadať svoje meno, t.j. prihlásiť sa.
- Prihlásenému používateľovi bude možné posielať privátne správy a iba prihlásený používateľ bude vidieť svoje súkromné správy.
Technické spracovanie:
- Vytvorte samostatného klienta, ktorý bude komunikovať zo serverom pomocou API rozhrania asynchrónne.
- Komunikáciu realizujte výlučne volaním API servera, s použitím JSON formátu a odpoveďami s HTTP stavovými kódmi.