Open-source telematics app for Android. The application is suitable for UBI (Usage-based insurance), shared mobility, transportation, safe driving, tracking, family trackers, drive-coach, and other driving mobile applications

Overview

TelematicsApp-Android with Firebase© integration

Description

This Telematics App is created by DATA MOTION PTE. LTD. and is distributed free of charge to all customers & users and can be used to create your own application for iOS in a few steps.

Basic Concepts & Credentials

For commercial use, you need to create a sandbox account https://userdatahub.com/user/registration and get InstanceID andInstanceKEY auth keys to work with our API

Additionally, to authenticate users in your app and store user data, you need to create a Firebase© account: https://firebase.google.com

All user data will be stored in the Firebase© Realtime Database, which will allow you to create an app users database without programming skills in a few minutes.

Setup Firebase© Project

Step 1: After creating your Firebase© account, open your console: https://console.firebase.google.com

Click "Create a project" button.

Step 2: Enter the name of your future Project. Click "Continue" button.

Step 3: For ease of integration, at the next step, we recommend deactivating the "Enable Google Analytics" checkbox.

Click "Create project".

Step 4: Now you need to create a configuration for your Android app. Click on the "Android" as it us shown on the picture below:

Step 5: Enter your Android Package Name. Enter the SHA-1 key, this identifier must be used in your application in Android Studio. Click "Register app" then.

Step 6: To connect your Firebase you need to add the google-services.json file to project_directory\app. Final file path: project_directory\app\google-services.json

Step 7: You can skip the "Add Firebase SDK" & "Add initialization code" steps below, because we already did it for you in our Telematics App:) Finish the setup and click on "Continue to console".

Step 8: Important. In order for your users to create accounts to log into your app, you need to go to "Authentication" section on the left side of the menu.

Step 9: In the "Sign-in method" tab, click on the Provider's "Email/Password" on the right "pencil" (Edit configuration hint) as in the picture below. If you need to perform authorization using the "Phone" Provider - select the setting of this item.

Step 10: Switch to "Enable" and click "Save" button. Now your users can login to the app.

Step 11: We need to activate Firebase© Realtime Database. This will allow you to store the data of all your users in this simple web interface. Go to the Realtime Database section on the left side of the menu and click on the "Create Database" button.

Step 12: Choose any Realtime Database location value.

Step 13: Select "Start a locked mode" and click the "Enable" button.

Step 14: Open our TelematicsApp in Android Studio, make sure to transfer the google-services.json file to project_directory\app (See Step 5 above) and Enjoy!

Build & Run!

Setup TelematicsApp Configuration

In file AppConfig.kt you can specify the basic settings for your app. To use your unique applicationId for your application, change applicationIdPrefix and name: const val applicationIdPrefix = "com.your_application_prefix" private const val name = "your_application_name"

To work with our API use InstanceId and InstanceKey from https://userdatahub.com/user/registration : const val INSTANCE_ID_PROD = ""YOUR_INSTANCE_ID"" const val INSTANCE_KEY_PROD = ""YOUR_INSTANCE_KEY""

To set application label change app_name in strings.xml in content module: YOUR_LABEL

To set application icon, find the content module icon in resource folders (res/mipmap, res/mipmap-hdpi, etc.) and replace it. And for change background icon color set ic_launcher_background in color.xml: #your_color

Dashboard features

Our goal is to provide your users with a user-friendly interface to get the best user experience. We suggest you use 2 (two) dashboards with Scoring and user Statistics data in your application. To get the first data, the user usually needs to drive a short distance. We set this parameter in the configuration file AppConfig.kt in parameter const val DASHBOARD_DISTANCE_LIMIT = "10" //measured in km

You might also like...
 Non-official Library Genesis (Libgen) Android mobile client.
Non-official Library Genesis (Libgen) Android mobile client.

Aurora If my noble work has helped you, consider becoming a . This is a non-official Library Genesis mobile client. The project is completely independ

This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉
This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉

Android-CICD This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉 Getting Started We are

🧸 A demo Disney app using Jetpack Compose and Hilt based on modern Android tech stacks and MVVM architecture.
🧸 A demo Disney app using Jetpack Compose and Hilt based on modern Android tech stacks and MVVM architecture.

DisneyCompose A demo Disney app using compose and Hilt based on modern Android tech-stacks and MVVM architecture. Fetching data from the network and i

PokeCard Compose is a demo app 100% write in Compose, Flow and Koin based on MVI Clean Architecture 🐱⚡️
PokeCard Compose is a demo app 100% write in Compose, Flow and Koin based on MVI Clean Architecture 🐱⚡️

A Pokemon Card demo app using Jetpack Compose and Koin based on MVI architecture. Fetching data from the network with Ktor and integrating persisted data in Room database with usecase/repository pattern.

A demonstration modern Android development project with Jetpack(Compose, Room, Flow, ViewModel, Navigation), Hilt and based on MVVM by using Github API.
A demonstration modern Android development project with Jetpack(Compose, Room, Flow, ViewModel, Navigation), Hilt and based on MVVM by using Github API.

A demonstration modern Android development project with Jetpack(Compose, Room, ViewModel, Navigation), Hilt and based on MVVM by using Github API.

A sample Android application with a strong focus on a clean architecture, automated unit and UI testing and continuous integration.

Android playground This is a sample Android application with a strong focus on a clean architecture, automated unit and UI testing and continuous inte

🎥 Android App using Kotlin, MVVM, ViewModel and LiveData, RxJava, Retrofit, REST API, OkHttp, Gson, Glide, Paging library and Material Design. In the app you can see a list of popular movies and additional info about every movie.
🎥 Android App using Kotlin, MVVM, ViewModel and LiveData, RxJava, Retrofit, REST API, OkHttp, Gson, Glide, Paging library and Material Design. In the app you can see a list of popular movies and additional info about every movie.

Movies 🎥 Android App using Kotlin, MVVM, ViewModel and LiveData, RxJava, Retrofit, REST API (https://www.themoviedb.org), OkHttp, Gson, Glide, Paging

Sample application demonstrating Android design and animation
Sample application demonstrating Android design and animation

android-movies-demo This is a sample application showing off some interesting design/development interactions for a talk given at Droidcon 2013. As it

A demo application that uses TMDB APIs to fetch the movie details and cache it using the Room DB.
A demo application that uses TMDB APIs to fetch the movie details and cache it using the Room DB.

TMDB App Tmdb sample project is a demo application that is based on modern Android architectures. It will fetch the data from the network and cache it

Comments
  • fix: Google maps authorization issue in Feed

    fix: Google maps authorization issue in Feed

    When opening the Feed details for a trip, currently we get the following error

    E/Google Maps Android API: Authorization failure.  Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
    E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
        Ensure that the "Google Maps Android API v2" is enabled.
        Ensure that the following Android Key exists:
        	API Key: "<GOOGLE_MAPS_API_KEY>"
        	Android Application (<cert_fingerprint>;<package_name>): <APPLICATION_SHA>;<APPLICATION_ID>
    

    This is fixed when we change the value of android:name property in the feed module's manifest file.

    opened by sampathBlam 0
  • TrackingApi.kt SDK not initialized. You need to call initialize(Context) method before

    TrackingApi.kt SDK not initialized. You need to call initialize(Context) method before

    Hi,

    First of all thanks for the great app!!

    Secondly, Firebase Crashlytics found a crash regarding TrackingApi. I was trying to debug this but I wasn't able to figure out the source of the problem. This is the error:

    Caused by java.lang.IllegalStateException: SDK not initialized. You need to call initialize(Context) method before at com.raxeltelematics.v2.sdk.TrackingApi.checkInitialized(TrackingApi.kt:819) at com.raxeltelematics.v2.sdk.TrackingApi.getQueue$tracking_release(TrackingApi.kt:847) at com.raxeltelematics.v2.sdk.services.main.SdkServiceController.registerMovingController(SdkServiceController.kt:308) at com.raxeltelematics.v2.sdk.services.main.SdkServiceController.updateTracking(SdkServiceController.kt:259) at com.raxeltelematics.v2.sdk.services.main.SdkServiceController.create(SdkServiceController.kt:55) at com.raxeltelematics.v2.sdk.services.main.SdkService.onCreate(SdkService.kt:49) at android.app.ActivityThread.handleCreateService(ActivityThread.java:5060) at android.app.ActivityThread.-$$Nest$mhandleCreateService() at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2425) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8741) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

    It would be really helpful to know why is this happening and thanks in advanced!

    opened by timardex 0
Beetlebug is an open source insecure Android application with CTF challenges built for Android Penetration Testers and Bug Bounty hunters.

Beetlebug Beetlebug is a beginner-friendly Capture the Flag Android application that aims to inspire interest in Mobile Application Security. It is ge

Hafiz Abdulaziz 60 Oct 11, 2022
🔥 Android MVP with Volley usage simple registration App 🔥

?? Android MVP with Volley usage simple registration App ?? This is a MVP architecture app that uses volley .Project is made using Android Studio. Vol

ABHISHEK KUMAR PATHAK 3 Aug 7, 2022
! Usage examples for Android Maven Plugin

Android Maven Plugin - Sample Projects WARNING This project is deprecated. All sample projects for the Android Maven Plugin as of version 4.0.0-rc.1 a

Jayway 190 Nov 28, 2022
👨‍💻 A demonstration modern Android development project with Jetpack(Compose, Room, ViewModel, Navigation), Hilt and based on MVVM by using Open Sky API. ✈️ 🌍

A demonstration modern Android development project with Jetpack(Compose, Room, ViewModel, Navigation), Hilt and based on MVVM by using Open Sky API.

Ismail Oguzhan Ay 13 Dec 4, 2022
A simple app demonstrates using Jetpack compose with other Jetpack libraries.

Android Pokemon Compose This repository is a simple app that make request to https://pokeapi.co and display them in the paginated lists. It demonstrat

BenBoonya 56 May 21, 2022
Restaurant is a demo application based on modern Android application tech-stacks and MVVM architecture

Restaurant is a demo application based on modern Android application tech-stacks and MVVM architecture. Fetching data from the network via repository pattern.

Eslam kamel 25 Nov 20, 2022
A demo of the power menu with Reveal and other animations

MaterialPowerMenu A demo of the power menu with Reveal and other animations Some days ago, I saw a gif on Google+ demonstating a concept of Android Po

Naman Dwivedi 888 Oct 11, 2022
Deletes other specs before the compileGroovy gradle task

run-groovy-spec-faster Template ToDo list Create a new IntelliJ Platform Plugin Template project. Get familiar with the template documentation. Verify

null 0 Nov 27, 2021
Examples of Android applications

Android Demos This is a collection of basic android examples created by Novoda. CarouselFragment CompassExample ContactSelector CustomActivityTransiti

Novoda 2k Jan 3, 2023