~~NOCACHE~~ {{indexmenu_n>10}} ====== Samostatná práce ====== Vaším úkolem bude udělat **chatovou aplikaci**. Aplikace bude obsahovat stránku registrace, přihlášení, detail uživatele a samotnou stránku chatových zpráv. Veškerá perzistence zpráv se předpokládá do souborů. Struktura souborů je plně ve vaší moci - pozor však, aby podporovala veškerou potřebnou funkcionalitu. Veškeré použité funkce by měly být v samostatném souboru (souborech) pro zvýšení znovu-použitelnosti v budoucnu, či na jiných stránkách. V průběhu implementace můžete zanedbat security aspekty authentikace uživatelů (solení hesla, správa db atp.) ===== Authentikace ===== Každý uživatel se zaregistruje a zadá následující údaje * Uživatelské jméno (povinný údaj) * Heslo (povinný údaj) * přezdívku, pod kterou chce vystupovat (povinný údaj) * Celé jméno uživatele (volitelný údaj) * Email (volitelný údaj) Při registraci se počítá s tím, že se nemohu zaregistrovat s uživatelským jménem, které již existuje. Při registraci nového uživatele se počítá s tím, že jeho heslo bude ověřeno dvakrát (pro kontrolu proti překlepům) V průběhu přihlašování uživatel zadává pouze uživatelské jméno a heslo. Na stránku zpráv a detailu svého uživatele se uživatele v žádném případě nesmí dostat bez ověření identity (authentikace) ===== Chatová stránka ===== Veškeré chatové příspěvky se vypíší do stránky. Každá chatová zpráva má u sebe následující údaje: - Datum, kdy byla přidána, - Uživatel, který zprávu napsal - Samotná zpráva. Zároveň chatová stránka dole obsahuje formulář pro přidání nové zprávy. Po klepnutí na datum u libovolné zprávy, je uživateli (klidně na nové stránce) zobrazen kalendář se zvýrazněným datem, kdy byla zpráva napsaná. Kalendář musí být vlastní tvorby (nelze využít knihovny) - jedná se o kalendář z domácího úkolu. ===== Detail uživatelského účtu ===== stránka obsahuje detail aktuálně přihlášeného uživatele. Jedná se pouze o výpis údajů zadaných při registraci ===== Bodové hodnocení ===== Každý student může získat až 10 bodů za samostatnou aktivitu. Body můžete získat za libovolné téma i částčně (je tedy možné udělat třeba pouze authentikaci a nastylování chatové aplikace - za 4 body) * [2b] - Authentikace uživatele (registrace, login a stránka detailu uživatele) * [2b] - Funkcionalita chatu (přidávání zpráv, výpis zpráv atp.) * [2b] - Javascriptová kontrola formulářů (kontrola formátu emailu, maximální délky řetězců, kontrola prázdných řetězců) * [2b] - Funkce kalendáře pro jednotlivé zprávy * [2b] - Nastylování chatu tak, aby zprávy ode mě byly na pravé straně a zprávy od ostatních na levé straně. Barevné oddělení pozadí zpráv