FLICKR

Aplikace umoznujici registrovanym zakaznikum ukladani a sdileni fotografii.

Tech. pozn.:
Vsechny objekty, ktere ukladame v DB - uzivatele, fotografie, slozky, komentare, hodnoceni, stitky - dostanou automaticky pri ulozeni jedinecne ID (prirozene cislo). To slouzi jako primarni klic kazde odpovidajici tabulky (uzivatele, fotografie...). V dalsim textu pri vyctu polozek jednotlivych objektu se uz o tomto ID nebudu zminovat. 

Registrovany zakaznik si muze zvolit mezi placenym a neplacenym uctem. U neplaceneho uctu je omezen poctem fotografii, ktere muze na server ulozit (100) a tim, ze nemuze vytvaret slozky fotografii. Pro platiciho zakaznika zadna omezeni neplati.
Kazdy zakaznik ma jedinecne uzivatelske jmeno, ktere si zvoli sam. Dale pro pristup k uctu si musi zvolit heslo - to je ulozeno jako 32-bitovy hash. Z osobnich udaju musi byt zadano jmeno, prijmeni a email, volitelne lze uvest domaci webovou adresu.
U kazdeho zakaznika navic ukladame datum a cas registrace.

Slozky muze vytvaret (vlastnit) pouze uzivatel placeneho uctu. Vlastnika slozky identifikujeme pomoci ciziho klice do tabulky s uzivateli. Kazda slozka musi mit titulek (max. 128 znaku) a muze mit popis (max. 1024 znaku).

Fotografie (soubory) jsou ukladany "nekde" na disku (takze DB navrh je neresi), v DB jsou ulozeny doplnujici informace. Fotografie je prirazena k majiteli pomoci ciziho klice (ID vlastnika) do tabulky s uzivateli. Muze byt zarazena do slozky (pokud se jedna o platiciho zakaznika) - to je provedeno pomoc ciziho klice do tabulky se slozkami (pokud do zadne slozky nepatri, pak je NULL). U kazde fotografie je priznak urcujici, zda majitel povolil komentare k ni. Kazda fotografie (podobne jak slozky) musi mit titulek (max. 128 znaku) a muze mit popis (max. 1024 znaku).
U kazde fotografie navic ukladame datum a cas ulozeni na server.

Stitky jsou kratka, nekolikaslovna hesla slouzici pro "stitkovani" fotografii. Kazda fotografie muze mit teoreticky libovolny pocet stitku (prakticky je horni hranice na 20 stitcich).

Hodnotit fotografie muzou pouze uzivatele systemu. Kazde hodnoceni je identifikovano pomoci ID hodnoticiho a ID fotografie (tato dvojice pak musi byt unikatni, nelze stejnou fotografii hodnotit vicekrat). Navic zadny uzivatel nemuze ohodnotit svoji fotografii. Hodnoceni je na stupnici od 1 do 5.
U kazdeho hodnoceni navic ukladame datum a cas ulozeni na server.

Komentare k fotografiim muzou pridavat i neregistrovani uzivatele. Pokud hodnoti registrovany uzivatel, je jeho komentar ulozen i s jeho ID. Vzdy je po komentujicim pozadavano jmeno, avsak reg. uzivatel jej nemusi vyplnovat - pak je za ne automaticky dosazeno jeho uziv. jmeno. Text komentare je samozrejme povinny. Na rozdil od hodnoceni muze vlastnik pridavani komentaru k fotografii zakazat. Pokud ale jiz nejake komentare existuji, zachovaji se (je treba je smazat explicitne).
U kazdeho komentare taky jeste ukladame datum a cas ulozeni na server.   


V ramci celeho navrhu je vzdy kontrolovano, zda "je rodic starsi nez dite". To znamena, zda napr. nove ukladana fotografie ma datum ulozeni mladsi, nez je datum registrace jejiho vlastnika. Podobne je to pak ve vztazich fotografie -> komentar k ni a fotografie -> hodnoceni.     
