Dokumentace k webu VinohradskeSlapky.com


Autor: Jiří Janoušek, e-mail: jura@vinohradskeslapky.com, web: jurasoft.kcbrno.org

Obsah

1. Mapa webových stránek
2. Design jádra informačního systému
2.1 Všeobecné schéma
2.2 Popis schématu
2.2.4 Aktuality
3. Struktura databáze
3.1 Entitně-relační diagram
3.2 Popis diagramu (tabulek)
4. Struktura zdrojového kódu
4.1 Logická struktura zdrojových souborů
4.2 Uložení souborů a adresářů v souborovém systému
5. Uživatelská příručka
5.1 Konfigurace informačního systému

Dodatek A. Použité zkratky v dokumentu

1. Mapa webových stránek

Bude doplněna později ...

2. Design jádra informačního systému

Informační systém je založen na technologii PHP a databázovém serveru MySQL.

2.1 Všeobecné schéma

2.2 Popis schématu

Informační systém jako celek je založen na koncepci jednotlivých kartách členů. Každý uživatel má jasně definovaná práva pro přístup k jednotlivým částem systému a operacemi s nimi. Každý člen má svůj účet a svou kartu. Tato karta se skládá s položek – například statistika najetých kilometrů, odjeté závody. Z těchto statistik vedených extra pro každého člena je generována řada navazujících údajů – např. soutěž Šlapka roku, Úspěchy klubu a další. Pro širokou veřejnost jsou uveřejňovány (opět samostatně jednotlivými členy) reportáže z jednotlivých závodů, kde každý závod má svou stránku a může obsahovat několik reportáží (typicky od všech účastníků) a několik fotografií. Pro manipulaci s fotografiemi a vkládání reportáží jsou určeny speciální skripty. Vše doplňuje systém aktualit, který reaguje jednak na různé události automaticky (dle nastavení) a také umožňuje ruční vkládání nových událostí.

2.2.1 Uživatelé

Uživatel, jak je patrno z obrázku schématu, v systému figuruje ve dvou typech – vestavěný Administrátor (má pouze zabudovaný účet, nemá kartu člena a další náležitosti) a Člen klubu. Každému uživateli (členu klubu) je jednoznačně přiděleno identifikační číslo (přidělí SŘBD automaticky při vložení), které se sice navenek nijak neprojevuje a uživatel s ním do styku nepřijde, ale vnitřně nám spojuje a jednoznačně identifikuje jednotlivé záznamy v databázi. Administrátor může v systému dělat vše, co se tam dělat dá. Člen klubu se řídí nastavením svých práv.

2.2.2 Karta člena

Zde jsou soustředěny všechny statistické údaje související se členem klubu. Na kartě se zobrazují osobní údaje, počty kilometrů za každý měsíc a absolvované závody. K osobním údajům přísluší také extra ukládané fotogradie s popisem. Počty kilometrů za jednotlivé měsíce se ukládají po letech a může být uloženo více let najednou. Vyplňovat lze jak aktuální rok, tak léta minulá. U závodů se uchovávají všechny statistické údaje, které jsou pak nutné k výpočtu pořadí člena ve Šlapce. Jednotlivé závody jsou rozděleny dle typu, které jsou extra uloženy a je možno je měnit (přidat další, odstranit již nevyhovující). Z údajů o závodech se také generuje celkový přehled o úspěších klubu – tzv. "Bedny".

2.2.3 Stránky akcí

Každá akce, které se klub zúčastnil, může mít svoji stránku, na které jsou uveřejněny reportáže účastníků a fotografie. Takovou stránku může založit každý člen klubu, který k tomu má oprávnění. Pro odstranění takové stránky je potřeba také speciální oprávnění. Stránka se generuje automaticky pomocí speciálního skriptu a informace o reportážích se uchovávají v databázi. Fotografie jsou zpřístupněny v daném adresáři opět pomocí skriptu a do tohoto adresáře je stačí pouze nahrát.

2.2.4 Aktuality

Aktuality jsou taktéž uloženy v databázi a u každé aktuality je k dispozici datum vložení, autor a text zprávy. Aktuality mohou jak vkládat jednotliví členové ručně přes editační rozhraní, tak se aktuality generují automaticky při zvolených událostech (ty se dají nastavit – většinou uveřejnění nové reportáže apod.) Každému členovi můžou na tyto aktuality chodit upozornění na e-mail, který má nastaven v Osobních údajích. Toto upozornění lze vypnout.

3. Struktura databáze

Databáze je uložena na serveru s MySQL.

3.1 Entitně-relační diagram

3.2 Popis diagramu (tabulek)

Na diagramu jsou znázorněny jednotlivé entity (zde přesně odpovídají tabulkám v databázi) a jejich vztahy, kde 1 značí jeden výskyt a * značí mnoho (n) výskytů entity. V seznamu položek entity jsou tučně a podtrženě uvedeny primární klíče.

3.2.1 Tabulka vinoslap_uzivatele

Tato tabulka je takovou centrální spojující tabulkou. Uchovává seznam uživatelů, kterým jsou přiřazena unikátní identifikační čísla (id). Každý uživatel má též svůj login, který je také unikátní v rámci databáze. Uchovává se taktéž heslo – v podobě hashe algoritmu MD5. Políčko aktivni je nastaveno na 1, pokud je člen aktivní, nebo na 0, pokud má člen pozastavené členství. Sloupec host obsahuje 1, pokud je clen pouze hostem klubu (má omezená práva atd.), jinak 0.

Přehled typů
3.2.2 Tabulka vinoslap_osobni_udaje

Zde jsou uloženy osobní údaje každého člena (uživatele systému). Primárním klíčem je zde identifikační číslo člena (id). Další políčka (jmeno ... adresa) mají stejný význam, jako v běžném životě. Políčko auto_email je nastaveno na 1, pokud si člen přeje zasílání informací o aktualitách na e-mail, nebo na 0, pokud si toto nepřeje. Nastavení nalezne každý člen ve svém profilu v sekci Osobní údaje. Položka ucast_slapka indikuje účast člena v bodování soutěže Šlapka roku (1 = účast, 0 = neúčast). Nastavení nalezne dotyčný taktéž ve svém profilu v sekci Osobní údaje.

Přehled typů
3.2.3 Tabulka vinoslap_prava

Tato tabulka ukládá práva každého uživatele. Primárním klíčem je identifikátor člena id. Ostatní položky tabulky uchovávají jednotlivá práva (1 = povoleno, 0 = nepovoleno).

Přehled typů
3.2.4 Tabulka vinoslap_fotografie

Informace o osobních fotografii, fotografii silničního a horského kola jsou uloženy v této tabulce. Primárním klíčem je identifikační číslo člena id. V položkách osobni, silnicka a horske jsou uloženy cesty k osobní fotografii a fotografiím obou kol. Není-li uložena v systému fotografie daného typu, je v tabulce řetězec ./img/noimage.png, což je cesta k obrázku pro nepřítomnost fotografie.

Přehled typů
3.2.5 Tabulka vinoslap_statistika_road

Zde se ukládají informace o tom, kolik který člen najezdí kilometrů. Primárním klíčem je zde dvojice id, rok jako identifikátor člena a rok, ke kterému se záznam v tabulce vztahuje. Další políčka (1 ... 12) vyjadřují jednotlivé měsíce roku a je v nich uložen počet najetých kilometrů v daném měsíci na silničním kole.

Přehled typů
3.2.6 Tabulka vinoslap_statistika_bike

Statistika pro horské kolo. Podrobnosti viz. 3.2.5 Tabulka vinoslap_statistika_road.

3.2.7 Tabulka vinoslap_akce

Tato tabulka uchovává informace o akcích. Primárním klíčem je zde id_akce. Sloupce datum, nazev, cas_viteze a delka_km mají svůj standardní význam. Ve sloupci typ se uchovává typ akce (je to identifikátor typu z tabulky vinoslap_typ_zavodu). Sloupec adresar_foto obsahuje lokální cestu k adresáři (ten byl automaticky vytvořen při vložení akce do systému), kam je možno nahrát přes FTP fotografie, které se zobrazí u dané akce ve fotogalerii.

Přehled typů
3.2.8 Tabulka vinoslap_typ_zavodu

Každé akci je přiřazen typ, jejichž seznam je uložen v této tabulce. Primární klíč tvoří id_typu. Název typu je uložen ve sloupci typ.

Přehled typů
3.2.9 Tabulka vinoslap_reportaze

Všechny reportáže ke všem akcím jsou uloženy zde. Každá reportáž má své identifikační číslo id_reportaze, které tvoří v této tabulce zároveň primární klíč. Sloupec id_akce přiřazuje reportáž akci a je zde cizím klíčem do tabulky akcí podobně jako id je cizím klíčem do tabulky uživatelů a uchovává autora reportáže. Název reportáže je uložen ve sloupci nazev a cesta k souboru je uložena ve sloupci url.

Přehled typů
3.2.10 Tabulka vinoslap_zavody

Tato tabulka ukládá účast členů na akcích – k tomu slouží dvojice primárních klíčů id a id_akce. Další sloupce mají dostatečně samovysvětlující názvy.

Přehled typů
3.2.11 Tabulka vinoslap_aktuality

Zde se ukládají aktuality. Každá má svůj identifikátor id_aktualita, který zde tvoří primární klíč. Autor je identifikován svým id. U každé aktuality je zaznamenán přesný čas jejího vložení ve soupci datum a její obsah ve sloupci text.

Přehled typů

4. Struktura zdrojového kódu

4.1 Logická struktura zdrojových souborů

Logická struktura zdrojového kódu

4.2 Uložení souborů a adresářů v souborovém systému

Uložení souborů a adresářů v souborovém systému

5. Uživatelská příručka

5.1 Konfigurace informačního systému

Veškerá společná konfigurace je uložena v souboru ./konfigurace.php. Tento soubor se vkládá do všech skriptů a proměnné definované zde jsou tedy ve všech skriptech přístupné.

Konkrétně je zde definováno:

Dodatek A. Použité zkratky
PHPpůvodně Profesional Home Page, nyní spíše Php Hypertext Preprocesor
MySQLSŘBD s rozhraním SQL – Standard Query Language
SŘBDSystém Řízení Báze Dat (databázový server)