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
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.
Mobilná aplikácia
App Store · Google Play
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á.
Autentifikačné API
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.
Správca geozón
Interný administrátorský nástroj
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.
Online mapa
mapy.milujemedrony.sk
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.
Nástroje na spracovanie dát
Interné skripty
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.
Prehľad technológií
- TypeScript
- Python 3
- SQL (Prisma migrations)
- Next.js 15 (App Router)
- React Native (Expo)
- Express.js 5
- MongoDB Atlas
- Prisma 6
- AsyncStorage
- Mapbox GL (mobile)
- MapLibre GL (web)
- Martin tile server
- MBTiles
- NextAuth.js
- JWT + bcrypt
- TOTP 2FA
- Helmet
- Argon2
- Discord webhooks
- Nodemailer
- NSAT web scraping
- Vercel
- Netlify
- VPS (Express API)
- Docker (Martin)
- 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átAko 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]