TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Flugmappe ist eine Progressive Web App zur Verwaltung von UAV-Einsätzen (Drohnenflüge) mit Vorflugchecklisten, Wetterbewertung, SORA-Risikoklassifizierung und PDF-Berichterstellung. Entwickelt für den realen Einsatzbetrieb deutschsprachiger Drohnenpiloten — alle Daten bleiben lokal im Browser. 1. Einsatzdaten — Standort, Einsatzdetails, Auftrag, Truppstärke und interaktive Einsatzkarte 2. Vorflugkontrolle — Wetterbewertung, Umgebungsprüfung, Fluganmeldungen und SORA-Risikoklassifizierung 3. Flüge — Dokumentation der durchgeführten Flüge 4. Nachbereitung — Einsatzabschluss und PDF-Export檢視完整 README ↗
Flugmappe ist eine Progressive Web App zur Verwaltung von UAV-Einsätzen (Drohnenflüge) mit Vorflugchecklisten, Wetterbewertung, SORA-Risikoklassifizierung und PDF-Berichterstellung. Entwickelt für den realen Einsatzbetrieb deutschsprachiger Drohnenpiloten — alle Daten bleiben lokal im Browser.
Jeder Einsatz durchläuft einen strukturierten Workflow:
gut / Vorsicht / Warnung)Automatische Abfrage nahegelegener Infrastruktur über Overpass/OpenStreetMap:
Live-Flugverkehr im Umkreis von 10 km aus Community-ADS-B-Daten (adsb.lol, Fallback adsb.fi):
server/, GET /adsb/point/...). Ist kein Proxy erreichbar (fehlende Konfiguration, „Failed to fetch“ durch CORS/Netzwerk, Route fehlt), zeigt die Sektion „Kein ADS-B-Server verbunden“ statt eines Fehlers, dazu einen Link zur Live-Karte; im Dev-Server leitet Vite direkt an adsb.lol weiterUmfassender Einsatzbericht mit allen erfassten Daten:
| Technologie | Zweck |
|---|---|
| React 19 | UI-Framework |
| TypeScript 5.9 (strict) | Typsicherheit |
| Vite 8 | Build-Tool und Dev-Server |
| Tailwind CSS 4 | Utility-First CSS |
| React Router 7 | Client-Side Routing |
| TanStack Query 5 | Server-State Management und Caching |
| MapLibre GL JS 6 | Karte mit VersaTiles-Basiskarte und eigenen Zeichenwerkzeugen |
| jsPDF | PDF-Generierung |
| React Compiler | Auto-Memoization |
| vite-plugin-pwa | PWA mit Workbox Service Worker |
# Repository klonen
git clone https://github.com/rubenvitt/uav-checklists.git
cd uav-checklists
# Abhängigkeiten installieren
pnpm install
# Dev-Server starten
pnpm dev
# TypeScript-Check + Production-Build
pnpm build
# Linting
pnpm lint
# Production-Build vorab anschauen
pnpm preview
Im Verzeichnis landing/ liegt eine eigenständige, statische
Website, die das Projekt für andere Bereitschaften und Interessierte vorstellt.
Sie ist vollständig vom PWA-Build getrennt (eigenes package.json, eigene
Lockfile, eigener Vite-Build) und lässt sich unabhängig auf einer anderen Domain
ausliefern:
cd landing
pnpm install
pnpm dev # http://localhost:5180
pnpm build # statischer Build nach landing/dist/
Details, Screenshot-Werkzeuge und die vor dem Deployment anzupassenden Stellen
stehen in landing/README.md.
src/
├── components/
│ ├── sections/ # Feature-Abschnitte der einzelnen Phasen
│ │ ├── WeatherSection # Wetterbewertung
│ │ ├── RiskClassSection # SORA-Risikoklassifizierung
│ │ ├── NearbyCheckSection # Umgebungsprüfung (Overpass)
│ │ ├── FlightTrafficSection # Flugverkehr (ADS-B)
│ │ ├── AnmeldungenSection # Fluganmeldungen
│ │ ├── EinsatzdetailsSection # Einsatz-Stammdaten
│ │ ├── EinsatzauftragSection # Einsatzauftrag und Vorlagen
│ │ ├── EinsatzkarteSection # Karte oder Foto
│ │ ├── TruppstaerkeSection # Personalverwaltung
│ │ ├── RahmenangabenSection # Drohne und Flughöhe
│ │ └── ExternalToolsSection # Links zu externen Diensten
│ ├── map/ # MapLibre-Karte mit Zeichenwerkzeugen
│ ├── *Phase.tsx # Phasen-Komponenten (Einsatzdaten, Vorflug, Flüge, Nachbereitung)
│ ├── MissionOverview.tsx # Einsatzübersicht (Start, Liste, Löschen)
│ └── MissionStepper.tsx # Phasen-Navigation
├── hooks/ # Custom Hooks (TanStack Query, localStorage, Geolocation)
├── services/ # API-Clients (Open-Meteo, Bright Sky/DWD, NOAA, Overpass, ADS-B, Nominatim)
├── data/ # Statische Daten (Drohnenspecs, Schwellenwerte)
├── types/ # TypeScript-Typen
├── utils/ # Hilfsfunktionen (Storage, PDF, Bewertung, Formatierung)
└── context/ # React Context (MissionId)
| API | Dienst | Cache-Strategie |
|---|---|---|
| Open-Meteo | Wetter und Vorhersage | TanStack Query 10 min + Service Worker 10 min |
| Bright Sky (DWD) | Stationsmessung + amtliche Warnungen (nur DE) | TanStack Query (Snapshot je Einsatzabschnitt) + Service Worker 10 min |
| NOAA SWPC | Geomagnetischer K-Index | TanStack Query 1 h + Service Worker 1 h |
| Overpass | Nahegelegene Infrastruktur (OSM) | localStorage 8 h |
| adsb.lol / adsb.fi über Backend-Proxy | Live-Flugverkehr (ADS-B, ODbL) | TanStack Query 30 s, Refetch 60 s, Snapshot je Einsatzabschnitt; Service Worker NetworkOnly |
| Nominatim | Reverse Geocoding | TanStack Query |
VersaTiles (tiles.versatiles.org) | Kartenkacheln und Glyphen (OSM-Daten) | Service Worker CacheFirst 30 Tage |
Alle APIs sind öffentlich zugänglich und erfordern keine API-Keys.
Sämtliche Daten werden ausschließlich im Browser gespeichert:
localStorage mit useSyncExternalStore für reaktive Updatesuav-form:{missionId}:{key} in localStoragelocalStorageSiehe LICENSE für Details.