Skip to content

sollarp/EV-MapBox

Repository files navigation

Build status

Ev MapBox

image Get it on Google Play

About

This Android application displays electric vehicle charging points on a map by utilizing data from Open Charge Map. The charging points are displayed according to the camera position and the zoom level of the device. The app provides POI filtering and detailed information for each charging location, and enables navigation to the selected charging location using Google Maps. Additionally, the app includes a search bar that allows users to enter any keyword to find charging points using a search algorithm and move the camera to the specified destination..

Key Features

This app uses the latest libraries and tools:

  • 100% written in Kotlin;
  • Kotlin Coroutines for asynchronous programming;
  • Dagger-Hilt for dependency injection.
  • Flow
  • Room for local data base.

Other features:

  • MVVM architecture;
  • Clean Architecture;
  • Google Maps Android SDK;
  • Retrofit2 for consuming RESTful Apis;
  • LiveData, MediatorLiveData
  • JUnit4, Mockito-Kotlin.

Current Screens:

Screenshot from 2023-04-12 20-47-33 Screenshot from 2023-04-12 20-48-10 Screenshot from 2023-04-12 20-48-28

Video:

Screencast.from.12-04-23.20.44.24.webm

Development setup

In order to clone and be able to run the code you will need to supply API Keys for the Google Maps SDK and Open Charge Map API:

After you've acquired API keys you should set them within the local.properties file in your project folder as follows:

openChargeMapKey=< Open Charge Map Api key goes here >

APIs used

  • [Google Map Api] for Map presentation;
  • [Open Charge Map Api] for Ev Charging Points ;

License

Ev Mapbox
Copyright (C) 2022  Peter Szollar

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or 
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.