Momentálne mám rozpracovaný projekt, ktorý robím hlavne zo zábavy a z nadšenia pre technológie. Ak ťa zaujíma, ako to celé vzniká, môžeš nahliadnuť priamo do mojej „kuchyne programovania“ – uvidíš proces tvorby, logiku kódu a to, ako jednotlivé časti systému ožívajú v praxi.
Systém je postavený na technológiách PHP , MariaDB , Bootstrap , GO , jQuery a Leaflet , pričom využíva aj dátové zdroje cez REST API tretích strán.
Projekt nesie pracovný názov„Lego“, pretože je koncipovaný modulárne – skladá sa z jednotlivých formátovaných HTML blokov, ktoré sa dynamicky načítavajú pomocou AJAX volaní. Zámerne sa vyhýbam práci s čistým JSON výstupom, ako to robia frameworky typu React či Vue, pretože cieľom je zachovať kontrolu nad dátami a minimalizovať možnosť ich zneužitia alebo neoprávneného kopírovania.
Do budúcnosti sa plánuje rozšírenie o vlastné REST API rozhranie, kde však dátová štruktúra zostane plne pod kontrolou systému.
Tento systém bude slúžiť ako základ pre všetky produkty a aplikácie, ktoré majú väzbu na geografickú polohu a prácu s mapovými dátami.
Tento komponent slúži na zobrazovanie geografických bodov, súradníc a oblastí záujmu v interaktívnej mape. Umožňuje pracovať s polohou, vzdialenosťami a trasami priamo v aplikácii.
Tento komponent slúži na vizualizáciu a správu kategórií v hierarchickej (stromovej) štruktúre . Umožňuje prechádzať nadradené a podradené položky, zobrazovať ich vzťahy a vykonávať operácie ako pridanie, úprava alebo presun uzlov.
Funkcionalita Options slúži na definovanie a správu doplnkových vlastností, ktoré sa viažu na jednotlivé kategórie miest. Cieľom je umožniť podrobnejší popis bodov na mape a rýchle filtrovanie podľa vybavenia, možností či aktivít.
Supervlastnosti miestaOptions predstavujú supervlastnosti , ktoré detailne špecifikujú konkrétne miesto alebo vybavenie jednotlivých komponentov. Pomocou nich možno presne opísať, čo sa na danom mieste nachádza, aké služby poskytuje a aké aktivity je tam možné vykonávať.
Príklady použitia:
Každá kategória (napr. Kemping, Karavan, Turistika, Reštaurácia...) môže mať definovaný vlastný súbor options – teda vlastností, ktoré sa zobrazujú ako zaškrtávacie políčka, prepínače alebo výberové zoznamy. Vďaka tomu možno jednoducho označiť, čo dané miesto ponúka alebo umožňuje.
Dedenie možnostíOptions sú viazané na kategórie a môžu sa dediť – ak podkategória nemá svoje vlastné voľby, preberá ich z nadradenej kategórie. To umožňuje vytvárať spoločné sady vlastností pre celé skupiny miest (napr. všetky typy ubytovania alebo všetky druhy aktivít).
Význam pre používateľaPri definovaní options pre kategóriu sa zameraj na to, čo je pre daný typ miesta najtypickejšie . Menej je niekedy viac – cieľom je, aby vlastnosti boli užitočné, prehľadné a praktické pre vyhľadávanie aj prezentáciu.
Každý záznam v systéme je reprezentovaný ako dátová entita, ktorá má svoju vlastnú štruktúru a pravidlá správania. Tieto entity sú definované v JSON formáte, čo umožňuje jednoznačne určiť ich polia, typy údajov a validačné podmienky pri ukladaní do databázy. Vďaka tomu je možné flexibilne rozširovať systém o nové typy dát, zachovať konzistentnosť a zároveň mať pod kontrolou kvalitu uložených informácií.
Každý záznam v systéme je reprezentovaný ako dátová entita, ktorá má svoju vlastnú štruktúru a pravidlá správania. Tieto entity sú definované v JSON formáte, čo umožňuje jednoznačne určiť ich polia, typy údajov a validačné podmienky pri ukladaní do databázy. Vďaka tomu je možné flexibilne rozširovať systém o nové typy dát, zachovať konzistentnosť a mať pod kontrolou kvalitu uložených informácií.
Modelová situácia: plánovaný tripPotrebujeme vytvoriť záznam o plánovanom tripe . Základná entita predstavuje udalosť s kľúčovými údajmi: