Skip to content

Latest commit

 

History

History
49 lines (33 loc) · 2.46 KB

zadanie.md

File metadata and controls

49 lines (33 loc) · 2.46 KB

Aplikácia na chatovanie

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 a users na porte 3306 a bude dostupný na localhost: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/

Zadanie

Vytvorte chatovaciu aplikáciu, ktorá budem mať nasledovné funkcie:

  1. Bude umožňovať posielanie správ.
  2. Správy si môže pozerať aj neprihlásený používateľ.
  3. Zobrazovať sa bude vždy 50 najnovších správ.
  4. Aby používateľ mohol chatovať, musí zadať svoje meno, t.j. prihlásiť sa.
  5. 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:

  1. Vytvorte samostatného klienta, ktorý bude komunikovať zo serverom pomocou API rozhrania asynchrónne.
  2. 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.