A Flutter app for drone pilots to plan and document flights with map-based awareness, no-fly overlays, and Supabase-backed flight logs.
- Interactive Map - OpenStreetMap view with live location support
- No-Fly Overlays - Visual no-fly zone tiles on top of the map
- Flight Logging - Track aircraft, notes, and operational flight details
- Flight History - Review saved logs in a clean list view
- Supabase Auth + Data - User auth and cloud persistence with row-level security
- Multilingual UI - Built-in localization support (currently English and German)
DroneBook includes Flutter localization (i18n/l10n) support out of the box.
- Supported languages - English (
en) and German (de) - ARB files -
lib/l10n/app_en.arbandlib/l10n/app_de.arb - Generated localizations -
app_localizations*.dartfiles inlib/l10n/
- Create a new ARB file in
lib/l10n/(for exampleapp_fr.arb) - Add all translated keys matching the existing ARB structure
- Regenerate localizations:
flutter gen-l10n- Restart the app and verify the new locale appears correctly
- Flutter SDK
3.11.0or newer - A Supabase project
- Android Studio/Xcode (depending on your target platform)
- Create a project at supabase.com
- Open Project Settings -> API
- Copy:
SUPABASE_URLSUPABASE_ANON_KEY
Create a local env file from the example:
cp .env.local.example .env.localThen update .env.local:
SUPABASE_URL=https://your-project-ref.supabase.co
SUPABASE_ANON_KEY=your-supabase-anon-keyConfiguration notes:
SUPABASE_URL- Your Supabase project URL (required)SUPABASE_ANON_KEY- Your Supabase anon/public key (required)
Security note:
- Keep
.env.localprivate and never commit real credentials - This repository is configured to ignore
.envfiles
flutter pub getflutter runIf you use the local Supabase CLI workflow in supabase/:
pnpm install
pnpm supabase startWhen running locally, point SUPABASE_URL to your local instance (for example http://127.0.0.1:54321).
Ensure these keys exist in ios/Runner/Info.plist:
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to your location to show your position on the map</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access to your location to track flights</string>

