pgx
PGX — Lightweight Postgres for AI agents. Written in Rust. Thousands of isolated databases in one runtime. 🐘
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Samoloty wojskowe, śmigłowce służbowe i duże transportowce nad Polską na żywo — PWA z mapą i powiadomieniami push (ADS-B)
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Live military aircraft, emergency-service helicopters and the largest transports over Poland — with a push alert when one comes close to you.
The app itself is in Polish.
Each category can be switched off — it then disappears from the map and stops sending alerts.檢視完整 README ↗Live military aircraft, emergency-service helicopters and the largest transports over Poland — with a push alert when one comes close to you.
The app itself is in Polish.
| Military | aircraft tagged as military by adsb.fi, plus ones the app identifies itself — by ICAO address blocks, callsigns (RCH, SAVER, DUKE…) and squawks 7777 / 7400 |
| Service helicopters | air ambulance (LPR), police, border guard and foreign rescue services — confirmed rotorcraft only |
| Heavy aircraft | Boeing 747, An-124, An-225 |
Each category can be switched off — it then disappears from the map and stops sending alerts.
| Source | Used for |
|---|---|
adsb.fi /v2/mil | global list of military aircraft |
adsb.fi /v2/lat/…/lon/…/dist/250 | all traffic over Poland — catches military aircraft that /mil does not tag |
| OpenSky Network | fallback when adsb.fi is down (no type or registration) |
| Planespotters.net | aircraft photos |
| Wikimedia Commons | freely licensed type photos shown when no photo of the individual airframe exists (credited on the card) |
| OpenStreetMap | airfield and training-area outlines |
| PANSA AUP/UUP | daily airspace use plan — which military zones are reserved, when and by whom (informative only) |
| adsb.lol | second global military list (different receiver network — each source has its own gaps) and lookup by aircraft type |
| adsbdb | flight routes by callsign — ADS-B itself carries no destination |
ADS-B does not carry a take-off time, so flight time counts from the earliest trail point the server knows — a lower bound, not an exact value.
flowchart LR
A[adsb.fi / OpenSky] --> F[aircraft<br/>on request, every 5 s]
A --> C[collect<br/>cron every 2 min]
F --> B[(Netlify Blobs<br/>4 h trails)]
C --> B
F --> P[PWA<br/>React + Leaflet]
B --> P
A --> N[notify<br/>cron every 1 min]
N -->|Web Push| P
| Function | Role |
|---|---|
aircraft | fetches and classifies traffic, returns the trail of a selected aircraft |
collect | records trails in the background every 2 minutes |
notify | checks every subscriber's radius each minute and sends push alerts |
airspace | proxies and trims the PANSA airspace use plan (no CORS upstream), cached 10 min |
inbound | serves 747s and An-124s bound for Rzeszów or Kraków |
inbound-collect | refreshes that list every 10 minutes (adsb.lol + adsbdb) so page traffic never reaches those services |
subscribe / status / test-push | subscription storage, diagnostics, test push |
npm install
npx netlify dev # Vite + Netlify Functions
Plain npm run dev starts only the UI — the map stays empty and the status mark in the corner turns red.
Push notifications need VAPID keys (npx web-push generate-vapid-keys) — see .env.example.
npm test # vitest
npm run lint # eslint
npm run build # production build to dist/
Deployment: every push to main is built automatically on Netlify.
netlify/functions/ aircraft, airspace, collect, notify, subscribe, status, test-push
lib/ military classification, Poland boundary, security
src/
components/ map, aircraft card, panels, SVG silhouettes
data/ airfield and training-area outlines
lib/ palette, geometry, type names, photo matching
airfields.js airfields: Polish military, civil, NATO bases
test/ vitest tests
Code: MIT © 2026 Maciej Poręba.
Map data and the airfield and training-area outlines in src/data/ come from © OpenStreetMap contributors and are available under the ODbL. Aircraft data belongs to adsb.fi and OpenSky Network, the airspace use plan to PANSA (Polska Agencja Żeglugi Powietrznej), photos to their authors on Planespotters.net — each under its own terms.