Giter Club home page Giter Club logo

points_verts's Introduction

ADEPS - Points Verts

Small Flutter application displaying future ADEPS' walks.

Uses the ODWB platform API to retrieve data.

Features

  • Display walks list by date, either in list form or on a map
  • Display walks list alphabetically, in directory-style
  • Calculate distance between your position and the walks (requires to allow the app to use your position)
  • Calculate distance and time between your home and the walks (requires to set home address in settings)
  • Display forecast weathers 5 days before the walks
  • Launch navigation to the selected walk
  • Display a notification the day before with the nearest walk (requires to set home address in settings)

Planned features

  • Share walk infos button?

Releasing the application

  1. Google Map API:

1.1 Generate 3 API keys:

  • API key restricted to Android App. Select Maps SDK for Android API. Define the key in android/local.properties:
googleMaps.apiKey=api_key
  • API key restricted to IOS App. Select Maps SDK for IOS API. Define the key in a GoogleMaps.plist file in ios/Runner folder:
<?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>api_key</string>
</dict>
</plist>
  • API key with no platform restriction. Select Distance Matrix API, Geocoding API, Maps Static API, Places API API's. Define the key in a .env file in root folder:
GOOGLEMAPS_API_KEY=api_key

1.2 Define the MAP_API as Google in a .env file in root folder:

MAP_API=Google
  1. MapBox API:

Define the MAP_API as MapBox and the API token in a .env file in root folder:

MAP=MapBox
MAPBOX_TOKEN=token
  1. The OpenWeather API key should be defined in a .env file in root folder:
OPENWEATHER_TOKEN=token
  1. Configure Firebase:

    Follow this guide: https://firebase.google.com/docs/flutter/setup Define following keys in .env file in root folder:

    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
  2. Information about the keystore should be set in the android/key.properties:

storePassword=<password>
keyPassword=<password>
keyAlias=key
storeFile=<path>/key.jks
  1. To generate the splash screen before release, use the following command:
flutter pub run flutter_native_splash:create
  1. To generate the launcher_icons before release, use the following command:
flutter pub run flutter_launcher_icons:main
  1. The release can then be build with the following command for android (use Xcode for iOS):
flutter build appbundle

Initial walk dataset

If you want the app to load an initial dataset without connecting to the internet, place a JSON file called walk_data.json in assets folder. This JSON must follows the schema of ODWB.

App assets and icons

Due to copyright issues => below assets, files and folders are not included:

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

points_verts's People

Contributors

tborlee avatar innovation-elab avatar simoma02 avatar sofyanbokornaetnic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.