Autor: Jiří Janoušek, e-mail: jura@vinohradskeslapky.com, web: jurasoft.kcbrno.org
Bude doplněna později ...
Informační systém je založen na technologii PHP a databázovém serveru MySQL.
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í.
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.
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".
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.
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.
Databáze je uložena na serveru s MySQL.
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.
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.
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.
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).
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.
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.
Statistika pro horské kolo. Podrobnosti viz. 3.2.5 Tabulka vinoslap_statistika_road.
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.
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.
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.
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.
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.
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é.
PHP | – | původně Profesional Home Page, nyní spíše Php Hypertext Preprocesor |
MySQL | – | SŘBD s rozhraním SQL – Standard Query Language |
SŘBD | – | Systém Řízení Báze Dat (databázový server) |