Small Flutter application displaying future ADEPS-Points Verts activities in Belgium.
  • Dart 98.7%
  • Ruby 0.5%
  • Python 0.4%
  • Swift 0.3%
Find a file
2026-04-29 11:47:39 +02:00
.github/workflows Release 1.7.1 — BW filter fix, Maps directions, app icon, deps upgrade (#114) 2026-04-27 13:43:18 +02:00
.vscode Added Azure Maps support (#106) 2024-09-17 13:28:17 +02:00
android Release 1.7.1 — BW filter fix, Maps directions, app icon, deps upgrade (#114) 2026-04-27 13:43:18 +02:00
assets fix gitignore 2024-09-16 15:58:21 +02:00
docs Accessibility adaptations (#94) 2023-07-03 10:37:48 +02:00
fonts Update look: Color & Icons (#107) 2024-10-25 09:37:22 +02:00
ios build(ios): regenerate Podfile.lock with Firebase 12.12 + TSBackgroundFetch 4.1 2026-04-29 11:47:39 +02:00
lib Release 1.7.1 — BW filter fix, Maps directions, app icon, deps upgrade (#114) 2026-04-27 13:43:18 +02:00
packages Upgrade to Flutter 3.35 (#110) 2025-11-28 10:55:54 +01:00
test First pass at upgrading to Flutter 2.5 (#25) 2021-10-26 12:00:39 +02:00
.gitignore security: remove GoogleService-Info.plist and add to gitignore 2025-12-01 10:39:02 +01:00
.gitlab-ci.yml Revert GitLab CI change to build job 2020-04-16 10:01:03 +02:00
.metadata First version, very raw and ugly 2019-12-23 16:42:45 +01:00
analysis_options.yaml First pass at upgrading to Flutter 2.5 (#25) 2021-10-26 12:00:39 +02:00
devtools_options.yaml build: add and update ios build files 2025-12-01 10:37:54 +01:00
flutter_launcher_icons.yaml Release 1.7.1 — BW filter fix, Maps directions, app icon, deps upgrade (#114) 2026-04-27 13:43:18 +02:00
flutter_native_splash.yaml Updated dependencies to latest versions (#30) 2022-02-09 20:53:12 +01:00
LICENSE Added LICENSE 2020-04-11 21:37:00 +00:00
pubspec.lock Release 1.7.1 — BW filter fix, Maps directions, app icon, deps upgrade (#114) 2026-04-27 13:43:18 +02:00
pubspec.yaml Release 1.7.1 — BW filter fix, Maps directions, app icon, deps upgrade (#114) 2026-04-27 13:43:18 +02:00
README.md Azure maps (#108) 2024-09-20 14:46:29 +02:00

ADEPS - Points Verts

A Flutter application for displaying future ADEPS walks.

This app uses the ODWB platform API to retrieve walk data.

Features

  • Display walks by date in list or map view
  • Show walks alphabetically in a directory-style list
  • Calculate distance between your current position and walks (requires location permission)
  • Calculate distance and time from your home to walks (requires setting home address in app settings)
  • Display 5-day weather forecasts for walks
  • Launch navigation to selected walks
  • Receive notifications about the nearest walk one day in advance (requires setting home address in app settings)

Setup and Configuration

Map API Configuration

The app supports multiple map providers for different functionalities. You can configure separate providers for API calls (MAP_API) and for displaying the interactive map (INTERACTIVE_MAP).

Map API Provider (for API calls)

Choose one of the following providers and add the corresponding configuration to your .env file:

  1. Google Maps

    MAP_API=google
    MAP_API_KEY=your_google_api_key
    MAP_API_WEBSITE=https://developers.google.com/maps?hl=fr
    MAP_API_NAME=Google Maps
    
  2. Mapbox

    MAP_API=mapbox
    MAP_API_KEY=your_mapbox_token
    MAP_API_WEBSITE=https://www.mapbox.com/
    MAP_API_NAME=Mapbox
    
  3. Azure Maps

    MAP_API=azure
    MAP_API_KEY=your_azure_maps_key
    MAP_API_WEBSITE=https://azure.microsoft.com/fr-fr/products/azure-maps/
    MAP_API_NAME=Azure Maps
    

Interactive Map Provider

Choose one of the following providers for the interactive map display and add the configuration to your .env file:

  1. Google Maps

    INTERACTIVE_MAP=google
    INTERACTIVE_MAP_API=your_google_api_key
    
  2. Mapbox

    INTERACTIVE_MAP=mapbox
    INTERACTIVE_MAP_API=your_mapbox_token
    
  3. Azure Maps

    INTERACTIVE_MAP=azure
    INTERACTIVE_MAP_API=your_azure_maps_key
    

Note: The MAP_API and INTERACTIVE_MAP providers do not need to be the same. You can mix and match based on your requirements and preferences.

Additional Google Maps Configuration

If you're using Google Maps for either MAP_API or INTERACTIVE_MAP, you'll need to set up platform-specific API keys:

  1. Android-restricted key:

    • Enable Maps SDK for Android API
    • Add to android/local.properties:
      googleMaps.apiKey=your_android_api_key
      
  2. iOS-restricted key:

    • Enable Maps SDK for iOS API
    • Create ios/Runner/GoogleMaps.plist:
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
      <key>API_KEY</key>
      <string>your_ios_api_key</string>
      </dict>
      </plist>
      
  3. Unrestricted key (if using Google for MAP_API):

    • Enable Distance Matrix API, Geocoding API, Maps Static API, and Places API
    • Use this key for the MAP_API_KEY in the .env file

Weather API Configuration

Add your OpenWeather API key to .env:

OPENWEATHER_TOKEN=your_openweather_api_key

Firebase Configuration

  1. Follow the Firebase Flutter setup guide
  2. Add Firebase configuration to .env:
    FIREBASE_ANDROID_APP_ID=android_app_id
    FIREBASE_ANDROID_API_KEY=android_api_key
    FIREBASE_IOS_APP_ID=ios_app_id
    FIREBASE_IOS_API_KEY=ios_api_key
    FIREBASE_IOS_CLIENT_ID=ios_client_id
    FIREBASE_IOS_BUNDLE_ID=ios_bundle_id
    FIREBASE_PROJECT_ID=project_id
    FIREBASE_SENDER_ID=sender_id
    FIREBASE_STORAGE_BUCKET=storage_bucket
    

Android Keystore Configuration

Add keystore information to android/key.properties:

storePassword=your_store_password
keyPassword=your_key_password
keyAlias=key
storeFile=/path/to/your/key.jks

Building and Releasing

  1. Generate splash screen:

    flutter pub run flutter_native_splash:create
    
  2. Generate launcher icons:

    flutter pub run flutter_launcher_icons:main
    
  3. Build release version:

    • Android:
      flutter build appbundle
      
    • iOS: Use Xcode to build and release

Initial Walk Dataset

To include an initial offline dataset, place a JSON file named walk_data.json in the assets folder. This file should follow the ODWB schema.

Missing Assets

Due to copyright restrictions, the following assets are not included in the repository:

  • Android:

    android/app/src/main/res/drawable*/ic_notification.png
    android/app/src/main/res/mimap*/ic_launcher_foreground.png
    android/app/src/main/ic_launcher-playstore.png
    
  • iOS:

    ios/Runner/Assets.xcassets/AppIcon.appiconset
    
  • Flutter:

    assets/dark/logo.png
    assets/dark/logo-annule.png
    assets/dark/splash.png
    assets/light/logo.png
    assets/light/logo-annule.png
    assets/light/splash.png
    

Please ensure you have the necessary rights to use any replacement assets.