Geoportál pro malou obec #2

Minule jsme si udělali teoretický základ a nyní nastal čas se pustit již do samotné tvorby. Jelikož se jedná o zjednodušený model, v tomto případě se nebudeme pouštět do vytváření procesních diagramů, databázových struktur a dalších věcí které se standardně dějí při návrhu nového sw.

Zjednodušený návrh

Proč vůbec obec potřebuje tuto aplikaci?

Poskytnout obyvatelům a návštěvníkům obce přehledný mapový portál s prostorovými informacemi o obci a umožnit obci tyto informace spravovat.

Jaké problémy obec řeší?

  • data jsou roztříštěná (PDF, obrázky, papíry)
  • neexistuje jednotné místo s mapou
  • obec nemá jednoduchý nástroj na aktualizaci
  • obec nemá systém pro hlášení závad

Kdo budou uživatelé a jaká mají zájem?

StakeholderZájem
Občanérychlý přehled informací, hlášení závad
Návštěvníciorientace v obci
Úředník obcespráva dat
Administrátortechnická správa systému

Uživatelské role

V celém systému budou existovat tři základní uživatelské role

RoleFunkcePřihlášení
Návštěvníkzobrazení mapy, hlášení závad, detail vrstevne
Editorpřidávání bodů a linií, úprava popisů, administrace závadano
Administrátorpřidělování uživatelských rolí, technická údržbaano

Funkční požadavky

Funkční požadavky si rozdělíme do několika skupin:

Základní funkce mapy

IDnázevPopisrolePožadavkyVýstup
FR-01zobrazení mapyUživatel otevře mapové okno, může zoomovat, VšechnyInternetové připojeníInteraktivní mapa s vrstvami
FR-02Detail vrstvyUživatel klikne na bod-linii, otevře se detail s textem a fotkouvšechnyPrvek na mapěPop-up s detailem
FR-03Vyhledání adresyUživatel zadá do vyhledávacího pole adresu a mapa se přiblíží na místovšechnyFunkční geokodovací služba, Vyhledaná adresa, přiblížení na místo
FR-04Hlášení závadUživatel klikne do mapy, vybere typ závady (např. nesvítící lampa) a odešle.Návštěvník / ObčanZáznam v databázi, ikona v mapě
FR-05Editor datPřidávání nových bodů zájmu, kreslení linií a úprava existujících popisků.Editor/adminEditační formulář v mapě
FR-06Správa uživatelůMožnost měnit role uživatelů a spravovat přístupy do systému.AdministrátorAdministrační rozhraní (tabulka)

Vývoj v lokálním prostředí

Pro práci v domácím prostředí si zapneme xamp (Apache a MySQL). Dále budeme využívat Visual Studio Code ve kterém budeme editovat kód a průběžně budeme vývoj této aplikace nahrávat na GitHub.

Záměrně jsem nepsal „psát kód“, tuto aplikaci si uděláme tak jak je dnes trendy a to pomocí Vibecodingu. Ke generování kódu použijeme volně dostupný model Gemini 3

„Než ale do Gemini pošleme první příkaz, musíme mít jasno v tom, jak spolu budou jednotlivé díly komunikovat. Naším cílem není napsat tisíc řádků kódu, ale správně kormidlovat AI model tak, aby vytvořil modulární a udržitelný systém.

V příští kapitole už otevřeme VS Code a zkusíme první ‚výstřel‘ – zobrazení základní mapy s podkladem OpenStreetMap.