Otvorene o tom, ako tvoríme

Systémová transparentnosť

MilujemeDrony je súkromný projekt, nie firma. Táto stránka presne vysvetľuje, aké systémy prevádzkujeme, aké technológie používame, odkiaľ pochádzajú naše dáta a ako je všetko prepojené — bez marketingových fráz.

Naše systémy

Webová stránka

milujemedrony.sk

Next.js 15 · TypeScript

Verejná webová stránka, ktorú práve čítate. Postavená na Next.js App Router, React 19 a Tailwind CSS. Obsah sa spravuje cez vstavaný administrátorský panel. Blog, oznámenia a FAQ sú uložené v MongoDB cez Prisma ORM a servírované cez Next.js API routes.

Next.js 15React 19TypeScriptTailwind CSS 4Framer MotionMongoDBPrismaNextAuth.jsTipTapZod

Mobilná aplikácia

App Store · Google Play

Expo SDK 55 · React Native

Aplikácia pre iOS a Android je postavená na React Native cez spravovaný Expo workflow. Na renderovanie vzdušného priestoru v reálnom čase používa Mapbox GL, ktorý načítava vektorové dlaždice z nášho tile servera. Autentifikácia podporuje email/heslo, Google Sign-In a Apple Sign-In. Profily dronov a preferencie sú ukladané na server. Aplikáciu môžete používať aj bez účtu — na prezeranie zón registrácia nie je potrebná.

React NativeExpo SDK 55TypeScriptExpo RouterMapbox GLi18next (SK/EN/CZ/FR)AsyncStorageExpo Secure Store

Autentifikačné API

Express.js 5 · MongoDB

Samostatné REST API postavené na Express.js 5, ktoré spravuje všetky používateľské účty — registráciu, prihlásenie, zmenu hesla a vymazanie účtu. Vydáva JWT tokeny (platnosť 7 dní) používané mobilnou aplikáciou aj webstránkou. Heslá sú hashované bcryptom. API tiež ukladá profily dronov a preferencie používateľov.

Express.js 5TypeScriptMongoDB AtlasJWTbcryptjsNodemailerHelmetCORS

Správca geozón

Interný administrátorský nástroj

Next.js · Martin tile server

Interná administrátorská webová aplikácia na správu leteckých zón a obmedzení vzdušného priestoru. Zóny sú uložené ako GeoJSON v MongoDB a kompilované do binárneho súboru vektorových dlaždíc (.mbtiles) servírovaného tile serverom Martin. Správca automaticky synchronizuje dočasné rezervácie UUP/AUP z LPS Slovakia každých 30 sekúnd. Podporuje tiež prihlásenie s 2FA, Discord webhook upozornenia, nahrávanie súborov KML/ZIP, správu katalógu letísk a štýlovanie zón.

Next.js 15PrismaMongoDBNextAuth.js + TOTP 2FAMartin tile serverMapLibre GLLeaflet + DrawDiscord webhooksArgon2

Online mapa

mapy.milujemedrony.sk

Next.js · MapLibre GL

Verejne dostupná webová mapa vzdušného priestoru. Postavená na Next.js a MapLibre GL (open-source alternatíva k Mapbox GL JS). Renderuje vektorové vrstvy dlaždíc z nášho tile servera a zobrazuje aktuálne rezervácie AUP/UUP načítané z API správcu geozón. Bez sledovania, bez reklám, bez potreby účtu.

Next.js 15React 19TypeScriptMapLibre GL 5Tailwind CSS 4Radix UI

Nástroje na spracovanie dát

Interné skripty

Python 3

Malá zbierka Python skriptov, ktoré automatizujú importy dát. Monitorovací skript NSAT kontroluje webovú stránku Dopravného úradu SR každé 2 hodiny, či nie sú k dispozícii nové KML súbory geozón, a posiela Discord notifikácie. Ďalšie skripty filtrujú, transformujú a predspracúvajú súbory KML/ZIP pred ich nahraním do správcu geozón.

Python 3requestsBeautifulSoup4lxmldiscord.pycron

Prehľad technológií

Jazyky
  • TypeScript
  • Python 3
  • SQL (Prisma migrations)
Frameworky
  • Next.js 15 (App Router)
  • React Native (Expo)
  • Express.js 5
Dáta a ORM
  • MongoDB Atlas
  • Prisma 6
  • AsyncStorage
Mapy a dlaždice
  • Mapbox GL (mobile)
  • MapLibre GL (web)
  • Martin tile server
  • MBTiles
Auth a bezpečnosť
  • NextAuth.js
  • JWT + bcrypt
  • TOTP 2FA
  • Helmet
  • Argon2
Upozornenia a monitoring
  • Discord webhooks
  • Nodemailer
  • NSAT web scraping
Hosting a infraštruktúra
  • Vercel
  • Netlify
  • VPS (Express API)
  • Docker (Martin)
Dáta v reálnom čase
  • LPS SR ArcGIS API (30 s)
  • NSAT scraping (2 h)
  • Tile regen on zone update

Zdroje dát

Všetky dáta o vzdušnom priestore zobrazené v aplikácii a na mape pochádzajú z oficiálnych alebo komunitných zdrojov. Hranice zón nevymýšľame ani neupravujeme.

Zobraziť všetky zdroje dát

Ako je všetko prepojené

Tok dát zón: Oficiálne zdroje (LPS SR, NSAT, OpenAIP atď.) → Python skripty alebo manuálne nahranie → Správca geozón (admin webová aplikácia) → skompilované do jediného súboru vektorových dlaždíc .mbtiles → servírované tile serverom Martin → renderované v mobilnej aplikácii (Mapbox GL) a online mape (MapLibre GL).

Rezervácie v reálnom čase: LPS Slovakia zverejňuje dočasné obmedzenia letov (AUP/UUP) cez ArcGIS REST API. Správca geozón to kontroluje každých 30 sekúnd, výsledok ukladá do cache a sprístupňuje ako /api/reservations. Mobilná aplikácia aj online mapa tento endpoint konzumujú na zobrazenie živých dočasných zón na základnej vrstve dlaždíc.

Autentifikácia používateľov: Autentifikačné API () je jediným zdrojom pravdy pre používateľské účty. Vydáva JWT tokeny konzumované mobilnou aplikáciou. Webstránka používa samostatnú NextAuth.js reláciu pre administrátorský panel. Tieto dva autentifikačné systémy sú nezávislé — účty na webe a v aplikácii nie sú zdieľané.

Oznámenia: Administrátori pridávajú oznámenia cez administrátorský panel webstránky. Mobilná aplikácia ich načíta pri spustení z endpointu webstránky /api/announcements a zobrazí banner, ak sú aktívne pre mobilnú platformu.

Monitoring: Keď sa zmenia súbory zón alebo sa vyskytnú kritické chyby, Discord webhook notifikácie sú odoslané do interných kanálov. Python skript NSAT beží na cron plánovaní a posiela nové odkazy na zóny do Discordu na manuálnu kontrolu pred importom.

Vlastníctvo a status

Súkromný projekt, nie firma

MilujemeDrony nie je registrovanou právnickou osobou. Navrhuje, buduje a spravuje ho jedna osoba — Tomáš Dávidik — ako bezplatnú službu pre slovenskú drónovú komunitu. Nie je tím, žiadni investori, žiadne príjmy.

Open source — čoskoro

Plánujeme zverejniť celý kód ako open source v blízkej budúcnosti — pravdepodobne v priebehu niekoľkých týždňov. Chceme sa uistiť, že kód je čistý a správne zdokumentovaný pred zverejnením. Sledujte nás.

Zadarmo, bez reklám, bez sledovania

Všetky služby sú bezplatné. Nie sú tu žiadne reklamy, žiadne analytické trackery (GA, Mixpanel atď.), žiadne affiliate odkazy a žiadne plány na monetizáciu. Prevádzkové náklady hradí vlastník osobne. Mapbox analytika je v našej implementácii vypnutá.

Dáta, ktoré ukladáme

Ak si vytvoríte účet: email, hashované heslo, meno a profily dronov. Žiadne lokalizačné dáta sa neukladajú na serveri. Dáta zón sú ukladané lokálne v zariadení pre offline prístup. Plné detaily v našich Zásadách ochrany súkromia.

Máte otázku o tom, ako niečo funguje? [email protected]