Find the Nearest EV Charging Station with Laravel and Vue.js App

EV Charge Map (ev-charge-map)

Tutorial series on how to build this

If you'd like a step by step guide on how to build this just CLICK THE IMAGE BELOW

GO TO JOHN WEEKS DEV TUTORIAL VIDEOS

Come and check out my YOUTUBE channel for lots more tutorials -> https://www.youtube.com/@johnweeksdev

LIKE, SUBSCRIBE, and SMASH THE NOTIFICATION BELL!!!

Demonstration Video

https://user-images.githubusercontent.com/108229029/179423135-feeb78d5-0991-4875-8dae-440afdc82d28.mp4

Frontend setup

Note

For this frontend to work you'll need the backend/api section -> https://github.com/John-Weeks-Dev/ev-charge-map-api

You'll need to install the Quasar CLI tool -> https://quasar.dev/start/pick-quasar-flavour

Clone the repository

git clone https://github.com/John-Weeks-Dev/ev-charge-map.git

Go to https://console.cloud.google.com/ and generate an API KEY.

You'll need to enable the Maps API, Places API, Directions API, and Distance Matrix API.

Now go to https://openchargemap.org and generate an API KEY.

Now add the new API KEYS in to quasar.config.js

Screenshot 2022-07-18 at 01 53 02

Now do

cd ev-charge-map

npm i

yarn quasar dev --watch

You should be good to go!

Application images/pages

Map Section

Screenshot 2022-07-18 at 01 20 30 Screenshot 2022-07-18 at 01 19 04 Screenshot 2022-07-18 at 01 19 18

Screenshot 2022-07-18 at 01 21 34 Screenshot 2022-07-18 at 01 21 44 Screenshot 2022-07-18 at 01 22 02 Screenshot 2022-07-18 at 01 22 21

Route/Journey Section

Screenshot 2022-07-18 at 01 24 27 Screenshot 2022-07-18 at 01 25 08 Screenshot 2022-07-18 at 01 25 52 Screenshot 2022-07-18 at 01 27 01

Auth Login / Registration Section

Screenshot 2022-07-18 at 01 27 37 Screenshot 2022-07-18 at 01 28 40 Screenshot 2022-07-18 at 01 29 08 Screenshot 2022-07-18 at 01 29 22

Account Section

Screenshot 2022-07-18 at 01 31 04 Screenshot 2022-07-18 at 01 30 50 Screenshot 2022-07-18 at 01 30 38

.gitignore

.DS_Store
.thumbs.db
node_modules

# Quasar core related directories
.quasar
/dist

# Cordova related directories and files
/src-cordova/node_modules
/src-cordova/platforms
/src-cordova/plugins
/src-cordova/www

# Capacitor related directories and files
/src-capacitor/www
/src-capacitor/node_modules

# BEX related directories and files
/src-bex/www
/src-bex/js/core

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Editor directories and files
.idea
*.suo
*.ntvs*
*.njsproj
*.sln

.editorconfig

root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

.eslintignore

/dist
/src-bex/www
/src-capacitor
/src-cordova
/.quasar
/node_modules
.eslintrc.js
babel.config.js

.eslintrc.js

module.exports = {
  // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy
  // This option interrupts the configuration hierarchy at this file
  // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos)
  root: true,

  parserOptions: {
    parser: '@babel/eslint-parser',
    ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features
    sourceType: 'module' // Allows for the use of imports
  },

  env: {
    browser: true,
    'vue/setup-compiler-macros': true
  },

  // Rules order is important, please avoid shuffling them
  extends: [
    // Base ESLint recommended rules
    // 'eslint:recommended',

    // Uncomment any of the lines below to choose desired strictness,
    // but leave only one uncommented!
    // See https://eslint.vuejs.org/rules/#available-rules
    'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention)
    // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability)
    // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead)

    'standard'
    
  ],

  plugins: [
    // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-files
    // required to lint *.vue files
    'vue',
    
  ],

  globals: {
    ga: 'readonly', // Google Analytics
    cordova: 'readonly',
    __statics: 'readonly',
    __QUASAR_SSR__: 'readonly',
    __QUASAR_SSR_SERVER__: 'readonly',
    __QUASAR_SSR_CLIENT__: 'readonly',
    __QUASAR_SSR_PWA__: 'readonly',
    process: 'readonly',
    Capacitor: 'readonly',
    chrome: 'readonly'
  },

  // add your custom rules here
  rules: {
    
    // allow async-await
    'generator-star-spacing': 'off',
    // allow paren-less arrow functions
    'arrow-parens': 'off',
    'one-var': 'off',
    'no-void': 'off',
    'multiline-ternary': 'off',

    'import/first': 'off',
    'import/named': 'error',
    'import/namespace': 'error',
    'import/default': 'error',
    'import/export': 'error',
    'import/extensions': 'off',
    'import/no-unresolved': 'off',
    'import/no-extraneous-dependencies': 'off',
    
    'prefer-promise-reject-errors': 'off',

    // allow debugger during development only
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
  }
}

Download details:

Author: myshine112
Source: https://github.com/myshine112/ev-charge-map

#vue #vuejs #laravel 

Find the Nearest EV Charging Station with Laravel and Vue.js App
1.25 GEEK