PRÁCE / 02
Projekty,
za kterými stojíme.
Konkrétní digitální produkty a jejich skutečné funkce.
Modulární redakční systém pro obsahové, firemní a komunitní weby. Portia 6 navazuje na vývoj systému od roku 2000, odděluje obsah od grafického motivu a umožňuje sestavit každou instalaci jen z modulů, které daný web skutečně potřebuje.
Stránky a struktura webu
Stránky lze vytvářet jako běžný obsah, výpis článků, externí odkaz nebo oddělovač navigace, hierarchicky je řadit a měnit jejich pořadí přetažením. Systém podporuje klasický vícestránkový web i one-page režim s vlastními kotvami sekcí. Adresy vznikají z čitelných slugů a obsah lze vést samostatně v češtině, slovenštině a angličtině.
Publikování obsahu
Články a novinky mají rubriky, štítky, perex, hlavní obrázek, stav publikace, plánované zveřejnění, expiraci, pořadí i označení doporučeného obsahu. Editor pracuje ve vizuálním režimu TinyMCE, dovoluje vložit tabulky, média, odkazy a galerie a pro zkušené správce nabízí přímou úpravu HTML. Samostatné moduly spravují také kontakty, soubory ke stažení a jejich kategorie.
Média a galerie
Vestavěný správce souborů ElFinder zpřístupňuje obrázky a dokumenty přímo z editoru. Fotogalerie pracují s alby, titulním snímkem, popisky, viditelností a řazením fotografií. Při nahrávání ověřují skutečný typ souboru, optimalizují velké obrázky a vytvářejí responzivní náhledy; existující galerii lze hromadně znovu optimalizovat nebo přegenerovat.
Interakce s návštěvníky
Formulářový modul umožňuje sestavit vlastní formuláře, ukládat doručené záznamy, zobrazit jejich detail a exportovat výsledky. Komentáře mají moderaci, hromadné operace, vlákna odpovědí a kontrolu spamu. Ankety uchovávají výsledky hlasování. Newsletter spravuje odběratele, import a export kontaktů, vícejazyčné kampaně, náhled, testovací rozesílku, historii i opakované odeslání neúspěšných zpráv.
SEO, migrace a analytika
Každá stránka nebo článek může mít vlastní meta titulek, popis, instrukce pro roboty, kanonickou adresu a Open Graph obrázek. Administrace zobrazuje náhled výsledku vyhledávání a hlídá doporučenou délku textů. Globální SEO modul spravuje výchozí metadata, robots.txt, XML sitemapu a měření Google Analytics nebo Google Tag Manager. Přesměrování 301 lze zakládat jednotlivě i hromadným importem, což chrání důležité adresy při převodu starších webů.
Motivy a asistence AI
Vzhled webu je samostatný motiv s vlastním manifestem, šablonami a soubory vzhledu; pracuje pouze s daty předanými systémem a nesahá přímo do databáze. Správce může motiv přepnout, nastavit barvy, logo, hlavní sdělení, výzvu k akci a patičku. Volitelná integrace Claude pomáhá navrhovat perexy, metadata, štítky a předměty newsletterů, generovat jejich obsah, překládat mezi jazyky a posoudit komentáře z hlediska spamu.
Uživatelé, bezpečnost a provoz
Administrátoři mají jemně nastavitelná oprávnění pro jednotlivé moduly, vlastní výchozí obrazovku a světlý nebo tmavý vzhled. Přihlášení používá bezpečně hashovaná hesla, omezení opakovaných pokusů, zabezpečené session cookies a jednorázové tokeny pro obnovu hesla. Změny zapisuje auditní log; formuláře chrání CSRF tokeny, výstupy se escapují a databázové dotazy používají PDO prepared statements.
Portia umí automatické i ruční SQL zálohy s nastavitelným intervalem a retencí, stažení, nahrání a obnovu zálohy. Moduly lze centrálně zapínat podle rozsahu instalace. Architektura odděluje router, controllery, repository, šablony a konfiguraci, takže systém lze rozvíjet bez zásahů do konkrétního grafického motivu.
Technologie a jazyky
- PHP 8.5 - striktně typované jádro, router, moduly, autentizace, šablony a integrace bez těžkého frameworku
- SQL / MariaDB - relační obsah, uživatelé, oprávnění, auditní záznamy a konfigurace
- HTML - serverově vykreslovaná administrace i veřejné motivy
- JavaScript - editor, řazení obsahu, galerie, náhledy, AJAX operace a ovládání administrace
- CSS a Bootstrap 5 - responzivní administrační rozhraní a samostatné styly motivů
- JSON - manifesty motivů, konfigurace a datová komunikace administračních nástrojů
- Composer / PSR-4 - autoloading, PHPMailer a správce souborů ElFinder
Vícefiremní webová aplikace pro OSVČ a firmy, která propojuje vystavení dokladu, jeho odeslání, přijetí platby i účetní exporty. Běžnou fakturaci doplňuje automatizací pravidelných dokladů, upomínek a párování úhrad.
Faktury a zákazníci
Fakturu lze připravit jako koncept a vystavením ji zařadit do samostatné číselné řady firmy. Podporuje češtinu i slovenštinu, CZK i EUR, vlastní splatnost, více položek, objednávku, logo, barevný akcent a dvě grafické šablony. Údaje českého zákazníka doplní podle IČO z ARES, slovenského z RPO SR. Adresář i historii faktur lze přenášet pomocí CSV.
Doklady a elektronická fakturace
Ke každé faktuře aplikace vytváří tiskové PDF s QR platbou, strukturovaný ISDOC 6.0.1 pro české účetní systémy a UBL 2.1 v profilu Peppol BIS 3.0 pro evropskou elektronickou fakturaci. Veřejná webfaktura umožní zákazníkovi doklad otevřít bez přihlášení, stáhnout jeho datové formáty a přejít přímo k platbě.
Automatizace a úhrady
Šablony opakovaných faktur pracují s měsíční, čtvrtletní, pololetní nebo roční periodou a umějí fakturovat běžné i uplynulé období. Denní úlohy vystaví splatné doklady, odešlou je přes vlastní SMTP firmy a zpracují naplánované e-maily. Napojení na Fio banku načítá příchozí platby a páruje je podle variabilního symbolu a částky. Neuhrazené faktury hlídají dvě nastavitelné úrovně upomínek.
DPH, náklady a exporty
Aplikace slouží neplátcům i plátcům DPH. U položek eviduje sazby, datum uskutečnění zdanitelného plnění a rekapitulaci daně; z vystavených a přijatých dokladů připraví podklady k přiznání. Volitelná evidence nákladů přijímá údaje ručně nebo importem ISDOC. Účetní data lze vyvést do CSV, doklady do PDF, ISDOC a UBL a obchodní data firmy do vlastní SQL zálohy.
Propojení a provoz
Rozhraní pro e-shopy vytváří faktury ze zaplacených objednávek, sdílí společnou číselnou řadu a vrací číslo dokladu i odkaz na webfakturu; hotový modul obsluhuje PrestaShop. Součástí systému je také newsletter, správa více uživatelů a firem, světlý i tmavý vzhled, průvodce prvním nastavením a dohled nad automatickými úlohami a e-mailovým logem.
Produkce běží jako responzivní SaaS nad PHP a MariaDB. Citlivé části aplikace a úložiště chrání serverová pravidla, formuláře používají CSRF ochranu a přístupy oddělují role i jednotlivé firmy. Databáze se denně zálohuje s řízenou retencí. Nasazení z hlavní větve soukromého repozitáře automatizuje GitHub Actions.
Technologie a jazyky
- PHP 8 - serverová aplikace, vícefiremní logika, autentizace, automatické úlohy a integrace
- SQL / MariaDB - relační data, transakční číselné řady, faktury, zákazníci, platby a logy
- HTML - serverově vykreslované responzivní rozhraní a šablony dokladů
- JavaScript - formuláře, živé výpočty, vyhledávání a interakce bez rozsáhlého frontendového frameworku
- CSS a Bootstrap 5 - vlastní vizuální vrstva, světlý a tmavý režim
- XML - formáty ISDOC 6.0.1 a UBL 2.1 / Peppol BIS 3.0
- YAML - automatizované nasazení prostřednictvím GitHub Actions
RECEPTÁŘ
Receptář
s glykemickým
indexem.

Webová aplikace, která spojuje sbírku receptů, plánování jídel, přehled domácích zásob a nákupní seznamy. Funguje responzivně v prohlížeči a jako instalovatelná PWA na telefonu, tabletu i počítači.
Recepty a vyhledávání
Každý recept uchovává ingredience včetně skupin, počet porcí, dobu přípravy, fotografii, popis, formátovaný postup, tipy a vložené YouTube video. Recepty lze řadit do více vlastních kategorií, označit druhem kuchyně, oblíbeností nebo stavem „chystám se uvařit“. Fulltextové vyhledávání doplňuje funkce „Co mám doma“, která doporučí jídla podle dostupných surovin.
Import a rekognoskace
Import přijímá PDF, DOCX, starší DOC a TXT; naskenovaná PDF zpracuje pomocí OCR. Recept umí načíst také z internetové adresy přes strukturovaná data Schema.org nebo obsah stránky a z YouTube popisu či přepisu titulků. Rozpoznaná data, fotografie i ingredience se před uložením zobrazí ke kontrole. Pokud běžné rozpoznání nestačí, aplikace zapojí AI: přednostně Google Gemini, případně Anthropic Claude.
Výživa a glykemický index
Ingredience jsou napojené na databázi potravin a převody jednotek. Aplikace automaticky počítá energii, bílkoviny, tuky, sacharidy, cukry a vlákninu na recept i porci. Glykemický index zobrazuje barevně v seznamu i detailu a umí jej hromadně přepočítat spolu s nutričními hodnotami.
Glykemický index je odhadován z publikovaných tabulek GI News, University of Sydney.
Jídelníček a nákupy
Jídla lze plánovat na jednotlivé dny jako snídani, oběd, večeři nebo svačinu; generátor umí sestavit období a pracovat s přílohami. Z jídelníčku nebo přímo z vybraných receptů vytvoří pojmenovaný nákupní seznam, sloučí stejné ingredience a převede kompatibilní jednotky. Položky lze doplňovat ručně, odškrtávat, upravovat a seřadit přetažením podle průchodu obchodem.
Správa a bezpečné zálohy
Součástí je rodinný blog a administrace kategorií, kuchyní, jednotek, potravin a základních surovin. Přístup chrání podepsaná cookie; citlivé administrátorské operace vyžadují vyšší oprávnění. Záloha vzniká přes SQLite online backup API i za běhu aplikace a ukládá databázi, fotografie a původní importované soubory do ZIP archivu. Uchovává se posledních deset záloh.
Instalace na domácím NAS
Produkce běží na Synology DS425+ v kontejneru Docker s Pythonem 3.11 a Uvicornem. Docker Compose připojuje perzistentní adresář s SQLite databází, fotografiemi a zálohami a samostatnou složku NAS s podklady pro hromadný import pouze pro čtení. Aplikace je dostupná jen na lokálním portu NAS; Synology Reverse Proxy ji publikuje přes HTTPS s certifikátem Let’s Encrypt.
Zdrojový kód zůstává v soukromém GitHub repozitáři. NAS jej stahuje pomocí samostatného SSH deploy klíče pouze pro čtení a aktualizační skript provede git pull, sestavení obrazu a restart kontejneru. Datový adresář je připravený pro Synology Hyper Backup nebo snapshoty. PWA manifest, service worker a vlastní ikony umožňují instalaci na Android, iOS i desktop bez samostatného obchodu s aplikacemi.
Technologie a jazyky
- Python – FastAPI, Uvicorn, SQLAlchemy, importní a výpočtové služby
- HTML a Jinja2 – serverově vykreslované responzivní rozhraní bez frontendového frameworku
- JavaScript – interakce, editory, vyhledávání, jídelníček, nákupní seznamy a instalace PWA
- CSS – vlastní tmavý design a mobilní rozvržení
- SQL / SQLite – perzistentní relační data přes SQLAlchemy
- Bash, YAML a Dockerfile – sestavení, nasazení a aktualizace na NAS
Nativní open source aplikace pro macOS, která zpřístupňuje možnosti nástroje yt-dlp bez nutnosti ručně skládat příkazy v Terminálu. Stahuje zvuk a video z více než 1 500 podporovaných webů, automaticky rozpozná typ obsahu a nabídne vhodný formát i kvalitu.
Zvuk, video a metadata
Aplikace rozlišuje podcastové a rozhlasové zdroje od videoslužeb. Pro zvuk nabízí MP3 v kvalitě 128, 192 nebo 320 kb/s, pro video MP4 v rozlišení od 360p do 1080p. Do výsledných souborů vkládá název, autora a další metadata; u zvuku také obal. Složky pojmenovává podle pořadu, playlistu nebo autora.
Více způsobů ovládání
Adresu lze vložit do dialogu po otevření aplikace, předat přetažením textového souboru s více odkazy nebo odeslat ze Safari, Mailu a dalších aplikací prostřednictvím systémové služby v kontextové nabídce. Historie uchovává posledních deset adres a nativní oznámení informují o dokončení či chybě.
Watchlist a automatizace
Sledované pořady a kanály se zapisují do jednoduchého textového watchlistu. LaunchAgent každý týden zkontroluje nové epizody a stáhne je v nastavené kvalitě. Archiv identifikátorů brání opakovanému stažení stejného obsahu a samostatné logy usnadňují kontrolu ručního i automatického běhu. Volitelný modul pro SwiftBar nebo xbar přidává rychlé akce do horní lišty macOS.
Instalace
Instalační skript vytvoří aplikaci v adresáři /Applications, přes Homebrew doplní chybějící yt-dlp a ffmpeg, založí systémovou službu, týdenní LaunchAgent a případně plugin pro SwiftBar. Aplikace podporuje macOS 10.13 a novější na počítačích Intel i Apple Silicon.
Technologie
- Bash – stahovací logika, instalace, historie, archiv a zpracování watchlistu
- AppleScript – nativní dialogy, výběr kvality a systémová oznámení
- yt-dlp – získání médií a metadat z podporovaných služeb
- ffmpeg – převod zvuku a spojení obrazové a zvukové stopy
- launchd / LaunchAgent – pravidelná synchronizace watchlistu
- Automator a SwiftBar – integrace do kontextové nabídky a horní lišty macOS
- Homebrew – instalace a správa závislostí
WEBDESIGN
Weby postavené
podle skutečného provozu.
Statický web, e-shop, současný CMS i modernizace aplikace na ASP/IIS. Prohlédněte si čtyři realizace s odlišnou technickou architekturou.
Reference webdesignuDALŠÍ KROK

