1. O dokumente

Tento dokument špecifikuje zadanie projektu pre predmet Tvorba internetových aplikácií, jeho ciele, funkcionalitu

2. Cieľ projektu

Cieľom projektu je vytvorenie systému internetových fór s rôznou tématikou len pre registrovaných užívateľov

2.1 Cieľové skupiny

Každý z uvedených užívateľov fóra bude disponovať inými privilégiami.

3. Stručný popis funkčnosti

3.1 Funkčnosť pre neprihlásených návštevníkov

Neprihlásení návštevníci sa možu registrovať a následne sa stať registrovanými užívateľmi, inak nemajú žiadne práva. Úvodná stránka ich bez prihlásenia nepustí ďalej.

3.2 Funkčnosť pre registrovaných užívateľov

Po zaregistrovaní bude užívateľovi vytvorené vlastné fórum, kde si bude môcť prezerať témy aj nové témy vytvárať, a vlastné príspevky aj editovať. Takisto si bude môcť vyplniť a editovať svoj profil, prezerať si profily ostatných užívateľov a využívať možnosti v menu svojho profilu.

3.3 Funkčnosť pre moderátora

Moderátora volí administrátor. Budú mu udelené práva vyššie zmienených skupín s tým, že bude môcť editovať alebo aj mazať príspevky, resp. presúvať témy ak nejako nebudú vyhovovať pravidlám fóra.

3.4 Funkčnosť pre administrátora

Administrátor bude mať najvyššie práva. Registrácia, prihlásenie, zakladanie,editovanie a mazanie všetkých tém a príspevkov, udeľovanie „titul“ moderátor fóra a mazanie užívateľských kont pri opakovanom porušovaní pravidiel.

4. Časti projektu

Popis rozdelenia projektu na jednotlive časti s popisom ich funkčnosti.

4.1 Registrácia a prihlasovanie

Do systému sa registruje pomocou formulára na web stránke. Formulár obsahuje povinné údaje(meno , priezvisko, používateľské meno, emailovú adresu, heslo, overenie hesla, overovací kód). Po úspešnom prihlásení do systému, si môže užívateľ vyplniť aj rozšírený profil, ktorého údaje sú nepovinné. Prihlasovanie prebehne po korektnom zadaní používateľského mena a hesla na hlavnej stránke.

4.2 Profil užívateľa

V tejto časti si bude užívateľ môcť vybrať z možností v menu profilu(zobraziť profil, upraviť profil, priatelia, správy...)

4.3 Navigácia

Navigácia sa bude prispôsobovať obsahu stránky(fórum, profil, priatelia..)

4.4 Vytváranie tém a príspevkov

Prihlásený používateľ bude môcť zakladať novu tému pomocou formulára v ktorom bude musieť vyplniť názov témy, jej popis a priradí ju do jednej z kategórií tém. Príspevky môže prihlásený člen pridávať iba do témy, v ktorej sa aktuálne nachádza vyplnením formulára z textovým poľom.
4.4.1 Editovanie a mazanie tém a príspevkov
Každý používateľ bude môcť upravovať svoj príspevok pomocou formulára v ktorom bude jeho príspevok zobrazený. Editovať a mazať všetky články, resp. celé témy budú môcť iba moderátori a administrátor fóra pomocou formulárových prvkov.
4.4.2 Počítanie príspevkov
Príspevky sa budú počítať automaticky po odoslaní príspevku. Pri názve témy bude zobrazený aktuálny počet príspevkov.

5. Vstupy a výstupy

Všetky vstupné údaje od užívateľa budu ukladané do databázy MySQL cez formulár. Zobrazovať sa budu všetky témy a príspevky, a informácie v profile, ktoré vyplní užívateľ. Všetky informácie budú v textovej, pripadne obrázkovej podobe.

6. Návrh riešenia

6.1 Technologické riešenie

Fórum bude naprogramované v PHP s využitím MySQL. Webové rozhranie bude využívať XHTML a CSS. Bude podporované aspoň dvomi prehliadačmi (Opera a Firefox).

6.2 Obmedzenia a kritické body

Aplikácia bude do rozumnej miery ošetrená pred neoprávneným prístupom, bude mať oddelené privilégiá pre rôzne stupne zásahu do obsahu a funkčnosti systému. Nie je predmetom projektu poskytnúť totálnu záruku ochrany pred neoprávneným prístupom. Kritickým bodom aplikácie je bezpečnosť, čo môže vyústiť do neoprávneného upravovania príspevkov a hodnotenia členov.

6.3 Analýza a náčrt postupu riešenia

Riešenie bude rozdelené na logické úseky:
  • registrácia a prihlasovanie
  • zobrazovanie a editovanie tém
  • zobrazovanie a editovanie príspevkov
  • zobrazenie a editovanie profilu
  • zobrazenie a editovanie priateľov
Každý logický celok bude mať vlastný súbor/súbory so zdrojovým kódom. Pomocou phpsession sa bude uchovávať informácia o prihlásenom používateľovi a jeho prístupových právach. Vstupným bodom webovského rozhrania bude index.php, ktorý následne volá jednotlivé moduly alebo časti.